日期:2014-05-17  浏览次数:20582 次

利用 Zend Studio 9 Run As PHPUnit Test 总结

PS:原创文章,如需转载,请注明出处,谢谢! ????

本文地址:http://flyer0126.iteye.com/blog/1441889

?

????? 利用本地PHP环境中的PHPUnit.bat测试同一单元测试用例,发现没有任何错误,如下图:

?????? 而利用 Zend Studio 9 创建PHPUnit单元测试用例,Run As PHPUnit Test 时发现,总是弹出一个错误框,提示如下信息:

??? “No test executed, Either a fatal error occurred, the launch was stopped manually or the script execution was halted with a ‘die’/'exit’ statement.”

????? 只是这样一条提示,是解决不了什么问题的。这时,一般Console会有相关错误信息,可以对应逐步解决。

????? 后来仔细研究发现Zend Studio是使用自带的PHP程序来执行调试功能,明白这一点之后,在首选项Preferences的PHP>PHP Executables里,可以选择加入对应版本的PHP可执行程序。这样就避免出现调试同一文件时,情况不一致的问题了。

?

解决方法总结如下:

1. 项目配置:点击项目名右击:include_path->configure include path...? 添加PhpUnit 3.x Library;

2. 环境配置:Window->Perferences,在php的Executables中选择对应的php版本及运行环境;

3. Run As PhpUnit Test 时,选择Run Configurations 中在PHP Script 标签下选择对应的PHP版本的运行环境方式。

?

以上项目配置完成后,可以进行PHPUnit的单元测试了,但是如果某次出错之后,会在运行时不运行测试程式,直接报错:

????? “No test executed, Either a fatal error occurred, the launch was stopped manually or the script execution was halted with a ‘die’/'exit’ statement.”

????? 对于这个问题,本人也是困扰了好久,起初是通过重启Zend来解决的,后来发现是由于测试出错后,在任务管理器中就多存在 php-cgi.exe 的进程,重新执行测试文件时,如果进程中存在相同的错误进程,会对测试造成影响,可以将此类同名进程终止掉之后,再进行单元测试 ,以上问题就解决了,ok,暂时就这么多...

?