我有一个扩展MyCustom_Controller_Action的IndexContoller,它扩展了Zend_Controller_Action。
我注意到我的集成测试(当我执行$this->dispatch('/')
时)从不触发我的IndexController,MyCustom_Controller_Action或Zend_Controller_Action的preDispatch方法。但是,这些类的init()
方法已达到。
如何修复我的测试设置,以便调用preDispatch函数(如我的生产应用程序中的正常流程)?
(需要调用它们,否则我无法测试应用程序中发生实际的内容。)
PHPUnit 3.5.15
Zend Framework 1.12
答案 0 :(得分:0)
我错了。到达了preDispatch函数 。
我最终通过Xdebug证明了这一点。我让Xdebug与Netbeans和Phpunit合作。我找到了一个非常有用的个性化逐步发电机。我创建了一个我的php.ini的匿名副本并将其上传到http://xdebug.org/wizard.php并按照结果执行步骤,现在我可以通过Mac终端运行以下内容:
php -dxdebug.remote_enable=1 -dxdebug.remote_host=127.0.0.1 -dxdebug.remote_autostart=On -dxdebug.remote_port=9001 -dxdebug.remote_mode=req /usr/local/opt/php55/bin/phpunit --filter testHeaderLocaleSwitchLoggedOut --bootstrap /code/master/tests/test.php --configuration /code/master/tests/phpunit.xml /code/master/tests/integration
然后Netbeans显示代码在我的断点处停止的地方,让我慢慢走过。