2013-02-17 2 views
0

У меня есть слушатель TestNG, который реализует IInvokedMethodListener. На @BeforeMethod мне нужно установить некоторые тестовое контекст, вот пример:Это способ получить имя метода тестирования в прослушивателях TestNG на этапе конфигурации?

public class ThucydidesInvokedMethodListener implements IInvokedMethodListener2 { 

    public void beforeInvocation(final IInvokedMethod method, final ITestResult testResult) { 

    boolean areBeforeMethods = method.getTestMethod().getTestClass().getBeforeTestMethods().length > 0; 
    if ((areBeforeMethods && method.getTestMethod().getTestClass().getBeforeTestMethods()[0] == method.getTestMethod()) || 
      !areBeforeMethods && method.isTestMethod()) { 

     final ThucydidesTestContext context = new ThucydidesTestContext(testResult); 
     testResult.setAttribute(contextKey(), context); 
     context.before(); 
    } 
} 

, но мне нужно имя тест, который будет выполняться после того, как BeforeMethod использовать это имя теста в отчетах. Возможно ли это с помощью TestNG? Также я попробовал IInvokedMethodListener2, который также имеет ITestContext, но он также не предоставляет имя теста.

ответ

2

Использование прослушивателя для настройки ваших тестов звучит неправильно для меня - вот для чего нужны аннотации @ Before *.

Я не знаю, как получить желаемую информацию с помощью слушателя, но с помощью метода @BeforeMethod просто: просто добавьте параметр типа java.reflect.Method к вашей сигнатуре метода, а TestNG будет вводить текущий метод, который вы может затем попросить его имя и все остальное, что вы хотите знать.

Все «магия» для аннотаций TestNG документирована здесь: TestNG dependency injection

НТН

/Jens

1
import java.lang.reflect.Method; 

public class TestToGetMethodName 
{ 

    @BeforeMethod 
    public void handleTestMethodName(Method method) 
    { 
     String testName = method.getName(); 
    } 

} 
0

Ну, с IInvokedMethodListener, метод beforeInvocation дает вам IInvokedMethod метод

.

method.getTestMethod.getMethodName() дайте название метода.

Смежные вопросы