2013-02-25 11 views
24

phpunitに問題があります。私は、テストを実行すると、PHPUnitは私にこれらの警告を与える:Laravel 4 TestCaseでテストが見つかりません

1)警告 「を照らし\財団\テスト\テストケース」クラスが見つかりませんテスト。

2)警告 "TestCase"クラスのテストが見つかりませんでした。

しかし、PHPUnitが彼らからテストを実行しようとしないように、私は、これらのファイルを無視したいと思います。

どうすればよいですか?

答えて

47

がうまくいけば、今ではあなたは答えを見つけましたが、あなたがいない場合、これは役立つかもしれない:

うーん - ファイル名とクラス名のすべてのマッチアップすることを確認します。 の例では、ファイル名がBarTest.phpのFooTestクラスはありません。

また、 のapp/testsディレクトリに* Test.phpファイルがあることを確認してください。私のテストの

[...]それだった

、すなわち、一つはファイル名-VS-クラス名にタイプミスがありました。 TestCaseクラスの警告を誤動作させ、実際にそれを引き起こしたクラスにフラグを立てるのではなく、不思議です。

から: https://laracasts.com/forum/?p=83-warnings-for-testcase-illuminate-foundation-testing-testcase/0

基本的には、ファイル名とクラス名が一致していることを確認します。私もこの頭に頭を叩きました。

+0

テストケース(メソッド)が作業テストで始まらない場合にも発生する可能性があります。 – Braders

+2

リンクが死んでいる(これがSOの回答のリンクが悪い理由です)。 – Roscius

+10

クイックヒント:基本クラス(この場合はTestCase)を抽象クラスにします。 – DerLola

41

さらに、TestCaseクラスを抽象クラスにすることもできます。そうすることで、PHPUnitはその中でテストを見つけようとしません。私にとって

abstract class TestCase {

+0

この回答は今日私の日を保存します。ありがとうございました@Derlola –

+0

私も保存しました。 PHPunitは基本クラスのテストについて不満を抱いていました。環境は –

+0

になりました。本当に質問に答えてくれてありがとう。 –

4

、問題は、クラス名が

class ExampleTest { 

として定義されたクラスがExampleTest.php命名されていなかったので、ファイル名と一致しなかったということでした。あなたが無視したい特定のテストファイルがある場合

、その後、phpunit.xmlファイルに移動して、

<testsuite name="Application Test Suite"> 
    <directory></directory> 
</testsuite> 

タグ内でディレクトリタグを交換し、使用する特定のテストファイルを指定します。

0

私にとっては、私はコンベンションミスをしていました。解決策は、クラス名とファイルをTestFooからFooTestに変更していました。

0

私も同じ問題に直面していました。ファイル名とクラス名がそれぞれAuthTest.phpAuthTestと同じであることを確認しました。

でも、私はExampleTest.phpという名前をAuthTest.phpに変更したので、同じ警告が表示されていました。

とにかく前のファイルを削除してphp artisan make:test AuthTest を使用していました。

関連する問題