这是必须使用PHPUnit Test测试的方法
public function newAction('ReRe'Rere'Domain'Model'Modul $newModul = NULL) {
if ($this->request->hasArgument(self::RETURNMODUL)) {
$this->view->assignMultiple(array(self::MODULNAME => $this->request->getArgument(self::RETURNMODUL),
self::MODULNUMMER => $this->request->getArgument(self::MODULNUMMER),
self::GUELTIGKEITSZEITRAUM => $this->request->getArgument(self::GUELTIGKEITSZEITRAUM),
self::FACHNAME => $this->request->getArgument(self::FACHNAME),
self::FACHNUMMER => $this->request->getArgument(self::FACHNUMMER),
self::PRUEFER => $this->request->getArgument(self::PRUEFER)));
} else {
$this->view->assignMultiple(array('newModul' => $newModul, self::GUELTIGKEITSZEITRAUM => $this->request->getArgument(self::GUELTIGKEITSZEITRAUM)));
}
}
下面的代码是从PHPUnit测试套件自动创建的
public function newActionAssignsTheGivenModulToView() {
$modul = new 'ReRe'Rere'Domain'Model'Modul();
$view = $this->getMock(self::VIEWINTERFACE);
$view->expects($this->once())->method(self::ASSIGN)->with('newModul', $modul);
$this->inject($this->subject, 'view', $view);
$this->subject->newAction($modul);
}
但它就是不起作用。PHPUnit没有显示任何关于测试代码不起作用的注释。。我真的需要一些帮助,每一次帮助我都会非常感激,因为我在PHPUnit测试中没有任何知识。
PHPUnit在后缀为"test"的类中查找测试,测试用例是前缀为"test"的公共方法,如您在文档和组织测试中所见
注意:如果将PHPUnit命令行测试运行程序指向某个目录它将查找*Test.php文件。
尝试
class ActionTest extends PHPUnit_Framework_TestCase
{
public function testNewAction('ReRe'Rere'Domain'Model'Modul $newModul = NULL)
{
if ($this->request->hasArgument(self::RETURNMODUL)) {
$this->view->assignMultiple(array(self::MODULNAME => $this->request->getArgument(self::RETURNMODUL),
self::MODULNUMMER => $this->request->getArgument(self::MODULNUMMER),
self::GUELTIGKEITSZEITRAUM => $this->request->getArgument(self::GUELTIGKEITSZEITRAUM),
self::FACHNAME => $this->request->getArgument(self::FACHNAME),
self::FACHNUMMER => $this->request->getArgument(self::FACHNUMMER),
self::PRUEFER => $this->request->getArgument(self::PRUEFER)));
} else {
$this->view->assignMultiple(array('newModul' => $newModul, self::GUELTIGKEITSZEITRAUM => $this->request->getArgument(self::GUELTIGKEITSZEITRAUM)));
}
}
}
或者,您可以在测试方法之前添加php注释和@test注释。通过这种方式,该方法可以保留其任意名称,并且不需要以"test"为前缀。
/**
* @test
*/
public function newActionAssignsTheGivenModulToView() {
///...
}