如何更改testNG报告输出名称?

时间:2011-03-19 11:46:45

标签: java testng

我的测试类描述如下:

private String TESTFILES = "test/tests";

@DataProvider(name = "tests")
public Iterator<Object[]> readTestFiles() { 
    // read a list of files ...
}

@Test(dataProvider = "tests")
public void sendRequest(File f) throws ParseException {
    // do something
}

测试报告如下所示:

test\tests\text.xml
PASSED: sendRequest(test\tests\text.xml)

===============================================
    Default test
    Tests run: 1, Failures: 0, Skips: 0
===============================================

如何更改报告中的输出名称?

This one:           sendRequest(test\tests\text.xml)
I'll have instead:  sendRequest(text.xml)

问题是,如果数据提供者提供长文本作为刺痛,那么测试报告看起来很糟糕。

1 个答案:

答案 0 :(得分:1)

测试方法参数只是参数的.toString()展平。您可以将File参数包装在一个简单的持有者中,如下所示:

class FileHolder {
   private final File file;
   FileHolder(File f) {
      this.file = f;
   }
   public String toString() {
      return this.file.getName();
   }
}

但是当然你必须从持有者中提取文件。我发现这个技术也很有用,我希望我可能需要在@DataProvider输出中添加更多字段,而且我不想多次更改方法签名。