繁体   English   中英

将参数传递给TestNG运行-Gradle

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM