2016-06-28 6 views
0

Когда я просто извлекаю параметры, тесты проходят правильно Когда я пытаюсь манипулировать параметрами, все идет не так. RunTimeException! Помогите понять, что не так !!testNG @BeforeMethod использовать параметр озера ITestResult экстракт с параметрами;

@BeforeMethod 
    public void beforeMethodBlock(ITestResult result){ 
     ReportGenerator.add(result.getParameters());  
    } 
public class ReportGenerator { 
    private static Object[][] testData= new Object[50][2]; 
    private static Integer index; 
    public static void add(Object[] data){ 
     testData[index++]=data; 

    } 
} 
+1

Не могли бы вы поделиться полный StackTrace исключительной ситуации? – juherr

+0

Если я просто распечатываю параметры в методе добавления Программа не работает !! – Artur

+0

java.lang.RuntimeException – Artur

ответ

0

Это выглядит ваш index переменная никогда не инициализируется и как вы используете Integer вместо int (почему?!) Значение по умолчанию null.

Просто используйте int и инициализируйте его.

+0

Проблема не в int Если я просто печатаю ("" + data [0]), это пошло не так, у меня сложилось впечатление, что невозможно записать некоторые утверждения в классе с аннотацией до и после прослушивания! Может быть, libs – Artur

+0

Согласно исходному коду, результат теста не имеет статуса, что не должно происходить. Если вы используете testng 6.9.12, можете ли вы открыть вопрос о github? – juherr

+0

int вместо целых работает! но если я напишу System.out.println ("" + data [0]); идет не так. – Artur

0
  • BeforeMethod в TestNG может иметь параметр ITestContext
  • После Метод может иметь параметр ItestResult

Если у вас есть, чтобы получить имя TestMethod, которое должно быть выполнено в следующем, что можно сделать по Метод (java.lang.reflect.Method) объект.

@BeforeMethod public void beforeMethod(Method m) { System.out.println(m.getName()); }
или
@BeforeMethod public void beforeMethod(ItestContext testContext) { // Do testContext related processing }

Ссылка: -
How do I get the name of the test method that was run in a testng tear down method?