多くの可能性があります。 MatyasとjFreneticが提案したように、最初に最も簡単なのは@BeforeClass
と@AfterClass
です。これは、テストクラスがセットアップコードを共有していない場合に行う最も簡単な方法です。
クラスが同じセットアップとティアダウンを共有している場合は、TestRuleを使用してください。具体的にはExternalResourceを使用します。これにより、各クラスの前後にコードを実行できます。これと@BeforeClass
と@AfterClass
の違いは、同じクラスを使用しているため、コードをより簡単に共有できることです。例:
@RunWith(Suite.class)
@SuiteClasses({A.class, B.class, C.class})
public class UsesExternalResource {
public static Server myServer= new Server();
@ClassRule
public static ExternalResource resource= new ExternalResource() {
@Override
protected void before() throws Throwable {
myServer.connect();
};
@Override
protected void after() {
myServer.disconnect();
};
};
}
これはテストクラスでも同様に動作しますので、異なるクラスに対して異なる設定が可能です。
@AfterClassの使用を検討する –