我想在使用大量的参数化对象的其中一个类重命名的测试方法。重命名参数TestMethod的
例如,如果我有一个测试方法设置像这样:
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
/**
* Unit test for simple App.
*/
public class AppTest
{
static class data_class{
public String name;
public String two;
public data_class(String name, String two){
this.name = name;
this.two = two;
}
}
@DataProvider(name = "prov1")
public static Object[] prov1(){
return new Object[] { new data_class("one", "one"), new data_class("two", "two") };
}
@Test(dataProvider="prov1")
public void testApp(data_class input)
{
System.out.println(String.format("Name: %s Two: %s", input.name, input.two));
}
}
测试运行的输出(在Eclipse,万无一失XML报告是相似的)示出了该输出,通知方法名是testApp与类的对象ID作为唯一的区别:
我要输出的自定义字符串作为两种测试方法的名称或参数,以便在詹金斯,我可以很轻松地看到测试案例打破了试验。
我试过创建一个注解监听器,它实现了IAnnotationTransformer
,但是当我执行annotation.setTestName("test")
时,它对结果输出没有任何影响。
我该如何做到这一点?
你在'data_class'上试过'toString()'impl了吗?另外,'data_class'不是最大的类名。按照惯例,java中的类名是大写,CamelCase。例如:'MyClass' – Taylor