[英]Passing parameters to TestNG run - Gradle
我在TestNG中进行了一些测试,并使用Gradle运行它们。 我想在运行时选择Spring bean中的一些属性。
因此,对于选择此不同的bean,我想将字符串参数传递给useTestNG调用。 我的build.gradle如下所示:
apply plugin: 'java'
dependencies {
compile fileTree(dir: 'lib', include: '*.jar')
}
test {
useTestNG()
}
参数将类似于“ bean1”,“ bean2”,...,并且在Java代码中,我将选择使用哪种bean。
ApplicationContext context = new FileSystemXmlApplicationContext("**/pathToXML.xml");
Locators obj = (Locators) context.getBean("bean1");
如果这不是解决此问题的好方法,而另一种方法更好,那么我将很幸运地知道它
您可以像这样传递所有系统属性:
test {
systemProperties System.getProperties()
useTestNG()
}
您最好将test本身的参数传递给应用程序代码。 如果从gradle中传递不同的参数,则将阻止从其他地方轻松快速地执行单元测试,例如Eclipse之类的IDE。
您可以按以下方式在测试任务中传递系统属性:
test{
systemProperty 'bean1', 'com.foo.Bar'
useTestNG()
}
在Java代码中,您可以使用System.getProperty("bean1");
访问它System.getProperty("bean1");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.