gpt4 book ai didi

java - 重命名参数化测试方法

转载 作者:行者123 更新时间:2023-11-30 06:41:49 26 4
gpt4 key购买 nike

我想重命名我的一个类中使用大量参数化对象的测试方法。

例如,如果我设置了如下测试方法:

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 中,surefire xml 报告类似)显示了此输出,请注意方法名称是 testApp,其中类的对象 id 作为唯一的区别符:

Test Results

我想输出一个自定义字符串作为测试方法名称或参数,这样在 Jenkins 中我可以轻松地看到哪些测试用例破坏了测试。

我尝试创建一个实现 IAnnotationTransformer 的注释监听器,但是当我执行 annotation.setTestName("test") 时,它对结果输出没有影响.

我怎样才能实现这个目标?

最佳答案

为您的 data_class 类方法添加 toString。

 public String toString(){
return this.name;
}

关于java - 重命名参数化测试方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44273669/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com