web-dev-qa-db-ja.com

phpunitで1つのファイルまたはマップを実行する

laravelを使用していて、いくつかのテストファイルを作成しましたが、どのようにして1つのファイルのみを実行できますか?たとえば、次のように実行します:phpunit tests/resulttesting/school/deleteSchoolForRealTestエラーをスローします:

ファイル "tests/resulttesting/school/deleteSchoolForRealTest.php"を開けません。

Phpunitを実行すると、すべてのテストが実行されます。そして、どうすれば1つのフォルダのみを実行できますか?私はMacを使っています。

13
Jamie

あなたはすべてを正しく行っています。

1)folderを追加する最初の方法。私の正しい方法は:

phpunit tests/EWalletTest

「tests」フォルダから開始するのを忘れたときにも同じエラーが発生しました

phpunit EWalletTest

わかった

ファイル「EWalletTest.php」を開けません。

2)Filterも別のオプションです。 ここを読む 例:

phpunit --filter EWallet

指定された正規表現パターンに名前が一致するテストのみを実行します。

つまり、ファイルEWalletTestEWalletFooTestを実行し、 `test_EWallet_with_Australian_dollarなどの名前の付いた他のファイルからテストケースを実行します。

20

フィルターオプションを使用する

phpunit --filter=EWalletTest
11
Mohammed Radwan

phpunit.xmlの使用

@groupオプションは、クラスとメソッドで使用できます。

クラスA

/**
 * @group active
 * */
class ArrayShiftRightTest extends TestCase
{
}

クラスB

/**
 * @group inactive
 * */
class BinaryGapTest extends TestCase
{    
}

phpunit.xml

<groups>
    <include>
        <group>active</group>
    </include>
    <exclude>
        <group>inactive</group>
    </exclude>
</groups>

アクティブなグループに属するクラスが実行されます。

0
f_i