Java Gradle脚本忽略testngxml文件

Java Gradle脚本忽略testngxml文件,java,gradle,testng,Java,Gradle,Testng,我有一个用于测试任务的渐变配置: 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/

我有一个用于测试任务的渐变配置:

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启动这些测试时,TestNG和XML测试被正确执行。但当我从Gradle启动测试时,它完全忽略了它们


这里出了什么问题?

首先:测试任务中的
副本是什么?你为什么需要它们?您可以完全删除它们,或者至少将它们移动到单独的任务中<代码>测试
任务只能执行测试

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

suites '/src/test/resources/run/ClienPageTest.xml'
这是指向FS根目录中的
/src/
文件夹的绝对路径。您可能想要的是:

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

好的。。这只是一个类型问题。我错过了ClienPage而不是ClientPage。。。无论如何出现问题,但已由以下人员处理

  • 添加每次启动测试之前清理项目的任务,并添加对该任务的依赖关系

已尝试。同样的情况。(不一样,代码看起来有点干净:-)关于复制。。。1.正如我们所知,我将我的项目构建到两个文件夹中。Java/test2。我有一个测试框架,它由Java(运行webdriver等的主要类)和测试类组成。。这只是一个类型问题。我错过了ClienPage而不是ClientPage。。。无论如何出现问题,但已通过以下方法处理-添加任务,该任务在每次启动测试之前清理项目