JUnitの@Testごとに異なるティアダウンを定義する方法はありますか?
@After
アノテーションを使用して、すべての@Test
の後に実行されるメソッドを示します。
このような注釈の完全なスイートは次のとおりです。
@BeforeClass
-すべての@Tests
が実行される前@Before
-各@Test
が実行される前@After
-各@Test
が実行された後@AfterClass
-すべての@Tests
が実行された後私はその質問を理解していないかもしれないことに気づきました。特定のティアダウンメソッドを特定の@Testメソッドに関連付ける方法を尋ねている場合は、アノテーションは必要ありません。最後に、テストメソッドの最後で呼び出すだけです。
@Test
public void someTest() {
try {
// test something
} finally {
someParticularTearDown();
}
}
テストメソッドを同じクラスにグループ化することのポイントは、同じセットアップと分解を行うことを含め、それらが物事を共有できるようにすることです。したがって、はい、テストごとに個別のティアダウンを定義できますが、@ Testメソッドを異なるクラスに配置することで定義できます。
別々のティアダウンメソッドを使い始めると、テストを同じクラスにグループ化する理由は明らかではありません。したがって、テストをクラスにグループ化する方法を柔軟に設定することで、この状況を管理できます。
JUnitでこれを行う簡単な方法はありません。 TestNG を使用すると、メソッドをグループに入れることができるため、特定のグループでのみ実行される特定の@ BeforeMethod/@AfterMethodを定義できます。