这是必须使用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 Test Suite自动创建的
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 Test中的单一知识,所以每个帮助都会非常受欢迎。
答案 0 :(得分:0)
PHPUnit在类中找到带有后缀“Test”的测试,测试用例是带有前缀“test”的公共方法,正如您在documentation和organizing tests
中看到的那样注意如果将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)));
}
}
}
答案 1 :(得分:0)
或者,您可以在test-method之前加上php注释和@test注释。这样,该方法可以保持其任意名称,并且不需要以“test”为前缀。
/**
* @test
*/
public function newActionAssignsTheGivenModulToView() {
///...
}