Junit如何获取父@BeforeClass方法中的类名?

时间:2018-09-19 09:35:10

标签: junit junit4

我已经实现了通用的TestBase.java,许多测试用例类都扩展了这个基础。

@BeforeClass方法是为相应的测试用例类准备一些特定的数据。

我的问题是,是否可以在TestBase @BeforeClass方法中获得调用测试用例的类名,以便我可以使用该类名来准备正确的数据?

我不想在单独的测试用例类中实现@BeforeClass,因为步骤完全相同,唯一的区别是可以由测试用例类名生成的数据名。

例如: 我的项目是测试我们产品的查询功能。 测试用例类,如GenericQueryTest.java,BooleanQueryTest.java等。 每个测试用例类都需要在运行测试之前索引准备好的数据,并在测试用例类中的所有测试完成后清理环境。

我实现了如下所示的TestBase.java。

公共类TestBase {

@BeforeClass
public static void setUpBeforeClass() throws Exception {
    I want to get invoked test case class name here. if I get the name(eg. classname= "GenericQueryTest ")
    File testDataFile = new File("C:/users/" + classname +".csv";
    then read the "C:/users/GenericQueryTest.csv "to prepare data in env        

}

公共类GenericQueryTest扩展了TestBase {

 I donot need to implement @BeforeClass

 @Test 
 .....
 @Test
 ...

}

1 个答案:

答案 0 :(得分:0)

我想出了解决问题的方法。只需实施定制的流道。您可以从跑步者那里获得课程。