我的测试类描述如下:
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)
问题是,如果数据提供者提供长文本作为刺痛,那么测试报告看起来很糟糕。
答案 0 :(得分:1)
测试方法参数只是参数的.toString()展平。您可以将File参数包装在一个简单的持有者中,如下所示:
class FileHolder {
private final File file;
FileHolder(File f) {
this.file = f;
}
public String toString() {
return this.file.getName();
}
}
但是当然你必须从持有者中提取文件。我发现这个技术也很有用,我希望我可能需要在@DataProvider输出中添加更多字段,而且我不想多次更改方法签名。