Gradle测试 Gradle构建Groovy项目 Gradle多项目构建 测试任务自动检测并执行测试源集中的所有单元测试。一旦测试执行完成,它也会生成一个报告。JUnit和TestNG是支持的API。 测试任务提供了一个 Test.getDebug() 方法,可以将其设置为启动以使JVM等待调试器。在继续执行之前,它将调试器过 帐 设置为 5005 。 测试检测 该 测试任务 检测哪些类是通过检查编译测试类测试类。默认情况下,它会扫描所有的.class文件。您可以设置自定义包含/排除,只有这些类将被扫描。根据所使用的测试框架(JUnit / TestNG),测试类别检测使用不同的标准。 使用JUnit时,我们扫描JUnit 3和4测试类。如果以下任何标准匹配,则该类被认为是JUnit测试类 - Class或超类扩展了TestCase或GroovyTestCase 类或超级类用@RunWith注释 类或超类包含用@Test注释的方法 当使用TestNG时,我们扫描用@Test注释的方法 注 - 抽象类不会被执行。 Gradle还将继承树扫描到测试类路径上的jar文件中。 如果您不想使用测试类检测,则可以通过将 scanForTestClasses 设置为false 来禁用它。 测试分组 JUnit和TestNG允许复杂的测试方法分组。对于分组,JUnit测试类和方法JUnit 4.8引入了类别的概念。测试任务允许指定要包含和排除的JUnit类别。 您可以在build.gradle文件中使用以下代码片段来对测试方法进行分组。 test { useJUnit { includeCategories 'org.gradle.junit.CategoryA' excludeCategories 'org.gradle.junit.CategoryB' } } 包含和排除特定测试 该 测试 类有一个 包括 和 排除 方法。这些方法可以用来指定哪些测试应该实际运行。 只运行包含的测试 - test { include '**my.package.name/*' } 跳过排除测试 - test { exclude '**my.package.name/*' } 以下代码所示的示例 build.gradle 文件显示了不同的配置选项。 apply plugin: 'java' // adds 'test' task test { // enable TestNG support (default is JUnit) useTestNG() // set a system property for the test JVM(s) systemProperty 'some.prop', 'value' // explicitly include or exclude tests include 'org/foo/**' exclude 'org/boo/**' // show standard out and standard error of the test JVM(s) on the console testLogging.showStandardStreams = true // set heap size for the test JVM(s) minHeapSize = "128m" maxHeapSize = "512m" // set JVM arguments for the test JVM(s) jvmArgs '-XX:MaxPermSize=256m' // listen to events in the test execution lifecycle beforeTest { descriptor → logger.lifecycle("Running test: " + descriptor) } // listen to standard out and standard error of the test JVM(s) onOutput { descriptor, event → logger.lifecycle ("Test: " + descriptor + " produced standard out/err: " + event.message ) } } 您可以使用以下命令语法来执行一些测试任务。 gradle <someTestTask> --debug-jvm Gradle构建Groovy项目 Gradle多项目构建