2016-08-24 15 views
11

私のプロジェクトでは特定のtestClassをテストしたいので、失敗したテストクラスがたくさんあり、一度に1つのクラスをテストしたいだけです。私は次のフォルダ\test\repositories\ApplicationVersionFormat.phpでテストクラスを作成しましたlaravelでphpunitを使用して特定のテストクラスをテストする方法

<?php 
use App\Repositories\ApplicationVersionFormat; 

class ApplicationVersionFormatTest extends \TestCase 
{ 
    public function testValidFormat() 
    { 
    $version = '1.2.3'; 
    $appVersion = new ApplicationVersionFormat(); 
    $this->assertEquals(true,$appVersion->isValidVersion($version)); 
    } 

    public function testInvalidFormat() 
    { 
    $version = '11.2.3'; 
    $appVersion = new ApplicationVersionFormat(); 
    $this->assertEquals(false,$appVersion->isValidVersion($version)); 
    } 

    public function testInvalidFormat2() 
    { 
    $version = '1.22.3'; 
    $appVersion = new ApplicationVersionFormat(); 
    $this->assertEquals(false,$appVersion->isValidVersion($version)); 
    } 

    public function testInvalidFormat3() 
    { 
    $version = '1.2.33'; 
    $appVersion = new ApplicationVersionFormat(); 
    $this->assertEquals(false,$appVersion->isValidVersion($version)); 
    } 

    public function testInvalidFormat4() 
    { 
    $version = '11.22.33'; 
    $appVersion = new ApplicationVersionFormat(); 
    $this->assertEquals(false,$appVersion->isValidVersion($version)); 
    } 
} 

ので、私は、このfollwingコマンドを試してみたが、これのどれも機能しません:

  • phpunit "repositories\AppVersionTest"。 =>"test/repositories/AppVersionTest.php"ファイルを開くことができません。
  • phpunit "test\repositories\AppVersionTest" =>"test/repositories/AppVersionTest.php"ファイルを開くことができません。
  • phpunit --filter "repositories\AppVersionTest" =>テストは実行されていません!
  • phpunit --testsuite "repositories\AppVersionTest"。 =>テストは実行されていません!

おかげ

+0

あなたが実行したコマンドの出力は何ですか? – Matteo

+0

phpunit.xml(.dist)ファイルにいくつかの包含/除外設定をチェックしてみてください。このファイルを投稿できますか? – Matteo

答えて

22

いくつかの方法を試した結果、特定のテストクラスをテストするためにフォルダを含める必要はありません。これは、クラスのすべてのテストを実行します私の作品:

phpunit --filter ApplicationVersionFormatTest

私は私のApplicationVersionFormatTestはTestCaseクラスを拡張し、Laravelのすべてのコンポーネントのための「接着剤」として機能するアプリケーションのインスタンスを返すので、それはだと思います。例えば

0

おそらく、関連する質問にthis answerとそれを管理することができます。

ただ@group注釈を持つクラスをマークし、--group <group_name>

更新

--filterとあなたのコマンドが完了していないとのPHPUnitを実行します。これを試してみてください:phpunit --filter AppVersionTest "repositories\ApplicationVersionFormat.php"

+0

ありがとうございますが、これは動作していません –

+0

@GujaratSantana更新を参照してください – BVengerov

0

phpunit --filter <relative_path_to_file> 、テストにファイルがEloquentWebTest.php

使用をテストするため test/repos/EloquentWebTest.phptest/repos/EloquentPushTest.phpあるphpunit --filter ./repos/ElqouentWebpush

関連する問題