当我刚提取参数时,测试正确进行 当我尝试操作参数时,一切都出错RunTimeException! 帮助理解什么是错误!!
@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;
}
}
答案 0 :(得分:0)
看起来您的index
变量从未初始化,当您使用Integer
代替int
时(为什么?!),默认值为null
。
只需使用int
并初始化它即可。
答案 1 :(得分:0)
如果必须获取接下来要执行的TestMethod的名称,可以通过 Method(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?