如何通过在Zend Framework 2中重定向来测试控制器操作?

时间:2013-03-20 10:38:32

标签: unit-testing redirect controller phpunit zend-framework2

控制器如何操作:

public function redirectFromAction() {
    // route "my-route" is mapped to the action redirectToAction
    return $this->redirect()->toRoute('my-route');
}
public function redirectToAction() {
    return new ViewModel();
}

使用PHPUnit进行测试?什么可以而且应该测试?哪个断言?使用request redirecting测试控制器操作有什么特别之处?

如果有人能为上述行动的测试提供一个例子,那就太好了。

1 个答案:

答案 0 :(得分:2)

此文档可以帮助您:http://framework.zend.com/manual/2.1/en/tutorials/unittesting.html

我会测试这样的东西:

public function testRedirectAction()
{
    $this->dispatch('/redirect-form');
    $this->assertResponseStatusCode(301);
    $this->assertResponseHeaderContains('Location' , '/my-route');
}

请务必从AbstractHttpControllerTestCase

扩展您的测试类