我正在努力实现这一目标。
我有一个属性文件,其中包含TestSuite业务名称到实际包的映射
test.properties
checkout=com.mycompany.tests.checkout
在Ant build.xml
中我定义了这个目标,它将调用TestNG Suite,我需要将参数传递给TestNG文件
build.xml中的目标
<target name="executeTests">
<testng delegateCommandSystemProperties="true" haltonfailure="true" outputdir="${integ.test.dir}">
<sysproperty key="testSuite" value="${testSuite}" />
<classpath refid="test.classpath" />
<xmlfileset dir="./" includes="testng/Tests.xml" />
</testng>
</target>`
TestNG文件内容片段如下
<parameter name="packageBase" value="${testSuite}" />
在运行目标上 - &gt; ant executeTests -DtestSuite=checkout
到目前为止,我成功将Ant构建语句中的CLI参数传递给testNG参数,
我需要帮助的地方是,我如何使用sysProperty读取套件的商业名称,并将相应的包传递给TestNG XML。 我尝试了以下不成功的
我尝试双重解析testSuite变量,但它不起作用,并作为原始变量传递给TestNG xml。
`<property file="testng/test.properties"/>
<target name="executeTests" depends="HappierTrails.test-integration-assert">
<testng delegateCommandSystemProperties="true" haltonfailure="true" outputdir="${integ.test.dir}">
<sysproperty key="testSuite" value="${testSuite}" />
<sysproperty key="package" value="${${testSuite}}" />
<classpath refid="test.classpath" />
<xmlfileset dir="./" includes="testng/Tests.xml" />
</testng>
</target>`
TestNG XML:
<parameter name="packageBase" value="${package}" />
由于变量未解决,我收到此错误
No tests found. Check that the package base <${${testSuite}}> is correct.