一个实用类的phpunit警告

时间:2008-12-24 13:18:22

标签: php phpunit

我在集成服务器上使用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()。

我该如何纠正? 提前致谢

此致 塞德里克

2 个答案:

答案 0 :(得分:35)

对于扩展PHPUnit_Framework_TestCase的类,它应该是抽象的,警告消失。 对于第一个问题,它似乎是一个错误。

答案 1 :(得分:0)

看起来您正在为命令行和Apache使用两个不同的php.ini文件。

在大多数unixoid系统上,运行

diff /etc/php*/*/php.ini

应该告诉你差异。

在Windows系统上,使用搜索功能查找名为php.ini的文件。在大多数情况下,您只需将Apache配置文件复制到CLI。