我有一个用于测试任务的Gradle配置:
task ClientTest(type : Test,dependsOn:'CopyAllToOneFolder'){
copy {
from 'build\\classes\\java\\main'
into 'build\\classes\\java\\test'
}
useTestNG() {
systemProperty 'headless', '1'
suites '/src/test/resources/run/ClienPageTest.xml'
}
}
我有一个XML用于TestNG套件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Client test" >
<parameter name="browsername" value="chrome"/>
<parameter name="headless" value="true"/>
<listeners>
<listener class-name="Listeners.ReporterListener"/>
<listener class-name="Listeners.TestResultListener"/>
<listener class-name="Listeners.TestSuiteListener"/>
</listeners>
<test name="RegistrationTest">
<classes>
<class name="org.client.RegistrationTest"></class>
</classes>
</test>
</suite>
当我从Inlelijj IDEA启动这些测试时,因为带有XML测试的TestNG已正确执行。但是,当我从Gradle启动测试时,它只会忽略它们。
怎么了
最佳答案
首先:测试任务中的copy
是什么?为什么需要它们?您可以将它们全部删除还是至少将它们移至单独的任务。 Test
任务只能进行测试!
我敢打赌,问题在于您在TestNG配置中的套件路径中:
suites '/src/test/resources/run/ClienPageTest.xml'
这是FS根目录中
/src/
文件夹的绝对路径。您可能想要的是:suites '${projectDir}/src/test/resources/run/ClienPageTest.xml'
关于java - Gradle脚本忽略TestNG xml文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46999623/