Groovy 如何配置testng IReporter以接受参数
IReporter是一个具有单个Groovy 如何配置testng IReporter以接受参数,groovy,testng,Groovy,Testng,IReporter是一个具有单个void generateReport(List xmlSuites、List suites、String outputDirectory)方法的接口。我想使reporter的行为可配置,以便在命令行上运行时可以向其传递选项。文档说明了如何在命令行上将参数传递给报告程序: -reporter自定义报表侦听器的扩展配置。与-listener选项类似,只是它允许 报告器实例上JavaBeans样式属性的配置。 示例:-记者 MyReporter:methodFilte
void generateReport(List xmlSuites、List suites、String outputDirectory)
方法的接口。我想使reporter的行为可配置,以便在命令行上运行时可以向其传递选项。文档说明了如何在命令行上将参数传递给报告程序:
-reporter自定义报表侦听器的扩展配置。与-listener选项类似,只是它允许
报告器实例上JavaBeans样式属性的配置。
示例:-记者
MyReporter:methodFilter=insert,enableFiltering=true
此选项的出现次数最多,每个
需要添加
因此,我似乎应该能够使用-reporter com.my.reporter:key1=value1,key2=value2调用testng
但是我从哪里得到传入的值呢
我查看了testng提供的XMLReporter,它有一个私有的最终XMLReporterConfig config=newXMLReporterConfig()代码>行,但我不知道配置是如何填充的 Magic,就是这样做的:-)它似乎在类中查找实现相同名称的IReporter的实例变量。它确实需要一个比对象
或定义
更强的类型,尽管它看起来更强大。这里有一个例子
class MyReporter implements IReporter {
int foo; //<-- populated when instantiated
@Override
void generateReport(List<XmlSuite> xmlSuites, List<ISuite> suites, String outputDirectory) {
println "foo = ${foo}"
}
}
testng ... -reporter 'full.path.to.MyReporter:foo=42'