如何通过 gradle 测试任务执行测试方法?

Posted

技术标签:

【中文标题】如何通过 gradle 测试任务执行测试方法?【英文标题】:How to execute test Method by gradle test task? 【发布时间】:2017-02-15 23:49:12 【问题描述】:

当我运行我的 testing.xml 作为 testNG 适合它的运行时,但运行时 gradle test 任务它不执行测试

testing.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite guice-stage="DEVELOPMENT" name="Default suite">
  <test verbose="2" name="test">
    <classes>
      <class name="com.example.EmpBusinessLogicTest"/>
    </classes>
  </test> <!-- Default test -->
</suite> <!-- Default suite -->

build.gradle

构建脚本 分机 springBootVersion = '1.4.1.RELEASE' 存储库 mavenCentral() 依赖 类路径(“org.springframework.boot:spring-boot-gradle-plugin:$springBootVersion”)

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'spring-boot'

jar 
  baseName = 'demo'
  version = '0.0.1-SNAPSHOT'

sourceCompatibility = 1.8
targetCompatibility = 1.8


repositories 
  mavenCentral()



dependencies 
  compile('org.springframework.boot:spring-boot-starter-web')
  testCompile('org.springframework.boot:spring-boot-starter-test')
  compile('org.testng:testng:6.9.10')



test 
    useTestNG() 
            
        suites 'src/main/resources/testing.xml'

    

谁能帮我执行 gradle 测试任务?

【问题讨论】:

【参考方案1】:

作为选项,您可以在测试任务中直接在 gradle 中生成 xml,它在我们的项目中运行良好

useTestNG() 
    suiteXmlBuilder().suite(name: 'Default suite') 
        test(name : 'test') 
            classes('') 
                'class'(name: 'com.example.EmpBusinessLogicTest')
            
        
    

执行这个测试任务,例如使用 Jenkins,您需要将系统属性传递给它:

systemProperties System.getProperties()
systemProperty 'user.dir', project.projectDir

【讨论】:

以上是关于如何通过 gradle 测试任务执行测试方法?的主要内容,如果未能解决你的问题,请参考以下文章

如何让我的 gradle 测试任务为不在 maven Central 上的库使用 python pip install?

Gradle测试任务,如何设置Spring Boot环境进行测试?

如何配置 gradle 以输出执行的测试总数?

如何使用 Gradle 和 JUnit 5 仅运行特定测试?

如何在Gradle中为单个测试类并行执行JUnit测试

我如何停止从安装应用程序开始的Gradle仪器测试运行?