Другой (хотя и не такой простой, как ответ Седрика ) способ, которым TestNG поддерживает это, - регистрация слушателя :
@Listeners({MethodListener.class})
public class ListenerTest {
@Test
public void someTest() {
}
}
Где слушатель может выглядеть так:
public class MethodListener implements IInvokedMethodListener {
@Override
public void beforeInvocation(IInvokedMethod method, ITestResult testResult) {
}
@Override
public void afterInvocation(IInvokedMethod method, ITestResult testResult) {
System.out.println(method.getTestMethod().getMethodName());
}
}
Этот конкретный слушатель будет выводить имя метода (т.е. someTest
) на консоль. Он будет выполняться после каждого выполненного теста.
Если вы генерируете testSuite программно, вы можете добавить прослушиватель следующим образом вместо добавления @Listeners({MethodListener.class})
для каждого класса теста
List<String> listeners = new ArrayList<String>();
listeners.add(MethodListener.class.getName());
testSuite.setListeners(listeners);