順番にテストを実行する必要があります。私はこれがどこにも適切に文書化されているのを見つけることができません。コマンドラインからこれを実行したいと思います。何かのようなもの
mvn -Dtest=test1,test2,test3,test5 test
どうすればよいですか?
テストの実行順序を指定することはできません。
これを行うための回避策は、 runOrderパラメーター をアルファベット順に設定することです。
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<runOrder>alphabetical</runOrder>
</configuration>
</plugin>
次に、期待される順序を取得するために、テストの名前を変更する必要があります。
ただし、依存テストを行うことはお勧めできません。単体テストは fIrst でなければなりません。
テストの順序が本当に必要な場合は、JUnitの代わりに testng を使用して、テスト間の依存関係を定義し、その特定の順序に基づいてテストを行うことができます。実際には、独立したパラダイムが機能しない時期があることを私は知っています。
すべてのテストを実行するテストスイートを作成して実行することができます。
Junit 4の場合:-
@RunWith(Suite.class)
@Suite.SuiteClasses({Test1.class,
Test2.class,
Test3.class,
Test4.class,
Test5.class
})
public class TestSuite
{
}
これにより、正しい順序で実行されます。
単体テストを特定の順序で実行する必要がある場合は、テストの設計が不適切であるか、アプリの設計が不適切である可能性があります。ユニットテストは互いに独立している必要があります。