Gradle脚本忽略TestNG xml文件

时间:2017-10-29 11:28:31

标签: java gradle testng

我有一个测试任务的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'
  }
}

我有一个用于TestNG套件的XML:

<?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启动测试时,它只是忽略了它们。

这里有什么问题?

2 个答案:

答案 0 :(得分:1)

首先:测试任务中copy是什么?你为什么需要它们?你可以完全删除它们,或者至少将它们移到一个单独的任务中。 Test任务只应该进行测试!

我打赌问题出在TestNG配置的套件路径中:

suites '/src/test/resources/run/ClienPageTest.xml'

这是FS根目录中/src/文件夹的绝对路径。您可能需要的是:

suites '${projectDir}/src/test/resources/run/ClienPageTest.xml'

答案 1 :(得分:0)

好吧..这只是一个类型问题。我错过了ClienPage而不是ClientPage ...无论如何......问题发生但是由以下

处理
  • 在每次启动测试之前添加清理项目的任务,并添加依赖项。