12

統合サーバーで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()2つの静的関数があります。ただし、TUクラスはphpunitコマンドのパラメーターとして指定されたプライマリファイルには含まれていません。これは、ファイルをスキャンしてすべてのテストクラスを一覧表示する汎用クラスです。main()suite()

PHPUnit_Framework_TestCaseを拡張して追加するクラスでも同じ問題が発生します。specific assert()これは経由ではなく、$suite->addTestFile()によってのみ含まれrequire()ます。

どうすればこれを修正できますか?

4

2 に答える 2

36

PHPUnit_Framework_TestCase を拡張するクラスの場合、抽象化する必要があり、警告は消えます。最初の問題については、バグのようです。

于 2008-12-30T10:14:54.287 に答える
0

php.iniコマンドラインと Apache に2 つの異なるファイルを使用しているようです。

ほとんどの unixoid システムでは、

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

違いを表示する必要があります。

Windows システムでは、検索を使用して という名前のファイルを検索しますphp.ini。ほとんどの場合、Apache 構成ファイルを CLI にコピーするだけです。

于 2008-12-24T14:23:58.313 に答える