Мне хотелось бы получить список методов тестирования из текущего класса тестирования до его запуска. Когда я попытался расширить TestListenerAdapter для этого, testContext.getAllTestMethods() вернул все методы тестирования из всех классов. Но как получить только методы из текущего класса?Получить текущие методы тестирования класса до запуска класса в TestNG
0
A
ответ
0
Я нашел частичный ответ на вопрос. Прежде всего, я могу получить все методы испытаний путем расширения TestListenerAdapter
общественного класса MyListener расширяет TestListenerAdapter {
@Override
public void onStart(ITestContext testContext) {
super.onStart(testContext);
ITestNGMethod[] methods = testContext.getAllTestMethods();
// here we can save methods into some object
}
Затем, в нашем тестовом классе в @BeforeClass() мы можем получить доступ к объекту и получить только методов из класса this.getClass(). getName(). Таким образом, мы фильтруем только те методы из текущего класса. В этом случае мы можем получить доступ ко всей необходимой информации, такой как описание и другие важные атрибуты теста.
0
Если у вас нет слушателя, вы можете также использовать @BeforeClass
аннотаций подобным образом, как указано собственный ответ ФП в:
@BeforeClass
public void setup(ITestContext context) {
for (ITestNGMethod method : context.getAllTestMethods()) {
if(method.getRealClass() == this.getClass()) {
// do what you have to do
}
}
}
Что вы хотите делать с этими методами испытаний? –
Прежде всего, я хотел бы иметь список их имен. После этого я хотел бы получить их описание описания теста. – Adept
Используйте отражение .. –