Итак, у меня есть класс юнит-теста:
class HomeControllerTest extends ControllerTestCase
{
public function testLoginAction()
{
$this->dispatch('/home/login');
$this->assertController('home');
$this->assertAction('login');
$this->assertQueryCount('div.login', 1);
}
public function testProcessloginAction()
{
$this->getRequest()
->setMethod('POST')
->setPost(array("username" => "example@example.com",
"password" => "password"));
$this->dispatch('/home/processlogin');
$session = new Zend_Session_Namespace('session');
$this->assertEquals($session->isLoggedIn, true);
$this->assertRedirectTo('/home');
}
}
И это результат теста:
root@ubuntu:/mnt/hgfs/app# phpunit --stderr
PHPUnit 3.5.15 by Sebastian Bergmann.
.root@ubuntu:/mnt/hgfs/app#
Первый тест работает нормально, однако второй тест просто завершается непосредственно перед отправкой $ this-> ('/ home / processlogin'); линия. Я не знаю почему, но единственное, что я вижу, это то, что home / processlogin выполняет перенаправление.
Кто-нибудь испытывал это с ZF 1.11.x (тест против 1.11.7 и 1.11.11)?