Junit, как получить вызывающее имя класса в родительском методе @BeforeClass? - PullRequest
0 голосов
/ 19 сентября 2018

Я реализовал универсальный 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 extends TestBase {

 I donot need to implement @BeforeClass

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

}

1 Ответ

0 голосов
/ 29 сентября 2018

Я разобрался, как решить проблему.Просто реализуйте настроенный бегун.И вы можете получить класс от бегуна.

...