TestExecutionListener インターフェイスを実装してテスト データを初期化し、beforeTestClass と afterTestClass を使用してデータをロード/破棄することが可能かどうか疑問に思っていました。テスト データはフラット ファイルで利用できます。データ ファイルの場所をテスト クラス アノテーションの一部として指定したいと考えています。
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:spring/test-dao.xml"})
@TestExecutionListeners(
{
DependencyInjectionTestExecutionListener.class,
InsertTestDataExecutionListener.class
})
@DataSetLocation("classpath:data/test-dao-dataset.xml")
public abstract class AbstractDaoTests {
public List testdata....
}
上記の疑似コードでは、InsertTestDataExecutionListener が TestExecutionListener インターフェイスを実装し、beforeClass メソッドでアノテーションからデータセットの場所を取得します。TestContext を使用してプロパティ「testdata」の内容をセットアップする方法を見つけようとしています。
public class InsertTestDataExecutionListener implements TestExecutionListener {
public void beforeTestClass(TestContext aContext) {
DataSetLocation dsLocation = aContext.getTestClass().getAnnotation(
DataSetLocation.class
);
//Load the contents of the file using the dataset location.
?? How to set the property of 'testdata' from the Abstract class
}
}
作業を行うためにリフレクションを使用する必要がありますか?