我在集成服务器上使用phpUnit来运行所有测试,如果我从命令行启动phpunit命令,我会收到:
PHPUnit 3.2.18 by Sebastian Bergmann.
F..III..I......I.IIII...
Time: 6 seconds
There was 1 failure:
1) Warning(PHPUnit_Framework_Warning)
No tests found in class "TU".
FAILURES
Tests: 24, Failures: 1, Incomplete: 9.
通过apache运行相同的测试文件:
PHPUnit 3.2.18 by Sebastian Bergmann.
..III..I......I.IIII...
Time: 7 seconds
OK, but incomplete or skipped tests!
Tests: 23, Incomplete: 9.
我的TU课程只包含$suite->addTestFile()
的所有测试类,
它有两个静态函数:main()
运行所有测试,
和suite()
返回测试套件。
但是TU类不在作为参数给出的主文件中
phpunit命令,它是一个通用类,扫描文件并列出所有测试
类。
我对一个扩展PHPUnit_Framework_TestCase以添加特定assert()的类有同样的问题,该类不包含在$ suite-> addTestFile()中,而只包含require()。
我该如何纠正? 提前致谢
此致 塞德里克
答案 0 :(得分:35)
对于扩展PHPUnit_Framework_TestCase的类,它应该是抽象的,警告消失。 对于第一个问题,它似乎是一个错误。
答案 1 :(得分:0)
看起来您正在为命令行和Apache使用两个不同的php.ini
文件。
在大多数unixoid系统上,运行
diff /etc/php*/*/php.ini
应该告诉你差异。
在Windows系统上,使用搜索功能查找名为php.ini
的文件。在大多数情况下,您只需将Apache配置文件复制到CLI。