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,暂时就这么多...