空のコンストラクターを使用するのが最も簡単な解決策です。拡張クラスのコンストラクターは引き続きオーバーライドできます。
しかし、それはすべての継承で最適ではありません。そのため、JUnit4は代わりに注釈を使用します。
もう1つのオプションは、factory / utilクラスにヘルパーメソッドを作成し、そのメソッドに作業を任せることです。
Springを使用している場合は、@TestExecutionListeners
アノテーションの使用を検討する必要があります。このテストのようなもの:
@RunWith(SpringJUnit4ClassRunner.class)
@TestExecutionListeners({CustomTestExecutionListener.class,
DependencyInjectionTestExecutionListener.class})
@ContextConfiguration("test-config.xml")
public class DemoTest {
SpringにAbstractTestExecutionListener
は、たとえば、オーバーライドできるこの空のメソッドが含まれています。
public void beforeTestClass(TestContext testContext) throws Exception {
}
注:DependencyInjectionTestExecutionListener
カスタムを追加する際に見落としたり見逃したりしないでくださいTestExecutionListeners
。そうした場合、すべての自動配線はになりますnull
。