PHPUnit Test Suite не работает

Это метод, который должен быть протестирован с помощью 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.

2

Решение

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)));
}
}
}
0

Другие решения

В качестве альтернативы, вы можете добавить к методу test комментарий php и аннотацию @test. Таким образом, метод может сохранить свое произвольное имя, и ему не нужно ставить префикс «test».

/**
* @test
*/
public function newActionAssignsTheGivenModulToView() {
///...
}
0

По вопросам рекламы [email protected]