私は、@Before
と記された方法に分解した共通のセットアップコードをいくつか持っています。ただし、すべての単一のテストでこのコードを実行する必要はありません。特定のテストの前に@Before
メソッドが実行されるようにマークする方法はありますか?JUnit:@いくつかのテストメソッドの場合にのみ前に?
答えて
セットアップコードを必要としないテストを別のテストクラスに移動するだけです。テストに共通する他のコードがあれば、ヘルパークラスに移動してください。
TestNGを使用してください。これにより、テストの細かい制御が可能になります。
JUnitからAssume経由でも実現できます。そして、@Before
を処理するメソッド名を確認することができます。
public class MyTest {
@Rule
public TestName testName = new TestName();
@Before
public void setUp() {
assumeTrue(testName.getMethodName().equals("myMethodName"));
// setup follows
}
}
@Rule
詳細洞察のためtopicを確認してください。
Do not useそれは、@Beforeメソッドだけでなく、実行中のテスト全体を停止させることを前提としています。 – jMcK
私は率直に見つけることができます(つまり、スペースを許してください)。 before-after関数を必要とするテストで直接呼び出して、BeforeアノテーションとAfterアノテーションを削除するだけで、 "テスト - テスト名 - イコール"のアイデアは無意味です。 – aliteralmind
@Beforeについてはわかりませんが、最近、@Afterブロックを選択的に実行するための戦略が策定されました。実装は簡単でした。私はいくつかのフラグをテストクラスの一部としてデフォルト値に設定しました。それらは@Beforeクラスのデフォルト値にリセットされます。私は旗に固有のことをする必要があるクラスで、私はそれぞれの仕事を行うためにフラグ値をチェックする@Afterでそれらのフラグ&を設定します。
- 1. eclipse pluginテストメソッドにjunitアノテーションが付いている場合@Ignore
- 2. Junitテストメソッドのモデルパラメータ
- 3. Junitテストメソッドのクエリ
- 4. JUnit:1つのメソッドに対して複数のテストメソッドを作成しますか?
- 5. Junit別のクラスのテストメソッドとコンストラクタ
- 6. 動的にJUnitテストメソッドを実行する
- 7. JUnitのテストメソッドが失敗します
- 8. JUnitテストメソッドのパラメータ化された代替
- 9. JUnitでメインと同じクラスのテストメソッド
- 10. 前のタスクが失敗した場合にのみ、2つのタスクを実行してください。
- 11. いくつかのタグにのみJAXB名前空間
- 12. Laravel:いくつかのブレードレイアウトビューを使用する場合のみいくつかのブレードレイアウトを含む
- 13. ファイルが見つからない場合にのみダウンロードする
- 14. 私は前提条件としてJunit Testを使用できますか他のJunitテストの場合
- 15. いつもelseステートメントに行く場合
- 16. 関数の名前がうまくいかない場合
- 17. JUnit同じオブジェクト内の他のメソッドを使用するテストメソッド
- 18. いくつかの条件が一致した場合にのみウェブパックにいくつかのjを注入する方法はありますか?
- 19. Junitで順番にテストメソッドを実行する方法
- 20. htmlに同じ名前のいくつかの入力がある場合、pythonの受信方法
- 21. すべての.htaccessをキャッチする - 前に何も見つからない場合のみ
- 22. GeoFire近くにユーザーが見つからない場合、ソースの場所に別のマーカーを置く
- 23. エントリが1つのみの場合は名前を選択してください
- 24. JUnitのテストメソッドは電子メール送信を防ぎます
- 25. いくつかの配列要素にキーがない場合のPHPスイッチ($ array_key)
- 26. ビルドパスにjunit-4.3.1.jarがある場合、EclipseがJUnit 3を使用しているのはなぜですか?
- 27. は、いくつかのデータがない場合にmysql $ result setですか?
- 28. 2つの任意のインスタンスを組み合わせてテストメソッドのシグネチャに一致させる方法
- 29. いくつかしか選択されていない場合、Datagridviewの列の名前を変更します。
- 30. ステートメントがprintの前にのみ入力されている場合
+1言い換えれば、@Beforeの振る舞いを望まない場合は@Beforeを使用しないでください。 –
本当に役に立ちます@Kirschstein :( - 「最初に正しいことを」 –