脚本宝典收集整理的这篇文章主要介绍了zend-framework – PHPUnit和Zend Framework assertRedirectTo()问题,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
public function testLOGgedInIndexAction() { $this->dispatch('/'); $this->assertController('index'); $this->resetResponse(); $this->request->setPost(array( 'tyPE' => 'login','username' => 'root','password' => 'asdasd',)); $this->request->setMethod('POST'); $this->dispatch('/'); $this->assertRedirectTo('/Feed/'); }
您通过/(index.PHP /)登录并在那里提交帖子详细信息,然后将其重定向到/ Feed /(index.PHP / Feed /).我提供的详细信息是正确的,应该可以工作但是我遇到的问题是PHPUnIT说它们不正确:
There was 1 failure: 1) IndexControllerTest::testLoggedInIndexAction Failed asserting response redirects to "/Feed/" /home/public_htML/mashhr/library/Zend/Test/PHPUnit/Constraint/Redirect.PHP:190 /home/public_html/mashhr/library/Zend/Test/PHPUnit/ControllerTestCase.PHP:701 /home/public_html/mashhr/tests/application/controllers/UserControllerTest.PHP:36
在他的情况下,真正的应用程序毫无疑问正确地重定向用户,但Zend_Test环境无法正确注册称为重定向.我能想到的最好的响应是省略任何实际在应用程序中工作的失败的assertRedirect.
这不是最佳情况,但除非您准备深入了解Zend代码以查看问题所在,否则这可能是您提高效率的最佳选择.这是导致单元测试得到错误名称的原因的一个示例:必须更改代码以传递实际已经工作的测试.
请参阅http://framework.zend.com/issues/browse/ZF-7496其标题中具有误导性:该问题与所有重定向有关,尤其是那些必须设置标题并退出而不是调度原始控制器的重定向.
无论出于何种原因,这种行为导致重定向不会总是失败,而是变得非常不可靠!如果有人知道这个问题的更好的解决方法(这是一般的,可能与OP的代码无关),请告诉我们.
以上是脚本宝典为你收集整理的zend-framework – PHPUnit和Zend Framework assertRedirectTo()问题全部内容,希望文章能够帮你解决zend-framework – PHPUnit和Zend Framework assertRedirectTo()问题所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。