我想知道是否可以通过实现 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
}
}
我应该使用反射来完成这项工作吗?