私はインターフェイスMyInterface
を書きました。これは、別の実装者によって実装される予定です。一般的なJUnitテストクラス
私はまた、すべての実装者が実装をテストするために使用できる一般的なテストメソッドを含むクラスMyInterfaceTest
を書きました。
JUnitテストとして動作させる方法がわかりません。
public class MyInterfaceTest {
private static MyInterface theImplementationToTest = null;
@BeforeClass public static void setUpBeforeClass() throws Exception {
// put your implementation here:
theImplementationToTest = new Implementation(...);
}
@AfterClass public static void tearDownAfterClass() throws Exception {
theImplementationToTest = null;
}
@Test public void test1() { /* uses theImplementationToTest */ }
@Test public void test2() { /* uses theImplementationToTest */ }
}
各実装の初期化に時間がかかるので、私はすべてのテストで一度初期化したいので、私は、静的メソッドsetUpBeforeClass
を使用します。
現在、私はこのような何かを持っています。
このバージョンのテストでは、実装者はsetUpBeforeClass
のコードを変更して独自の実装を行う必要があります。
MyInterfaceTest
を書く別の方法があると確信しています。そのため、実装者はコードを継承したり、パラメータを送信したり、コードを変更したりする必要がありません。しかし、私はJUnitで十分な経験をしているわけではありません。どうすればいいか教えてください。
これは元の問題をどのように解決するのに役立ちますか? –
元の問題は何ですか? –
静的なセットアップ/ティアダウンをサブクラスによって異なる実装に再利用する方法。私の答えに記載されています。 –