繁体   English   中英

Gradle:如何列出所有“给定的测试”

[英]Gradle: how to list all “given tests”

我尝试以下代码:

roroco@roroco ~/Dropbox/jvs/ro-idea $ gradle test --tests "ro.idea.ToggleTest.testIsAd"
:ro:compileJava UP-TO-DATE
:ro:processResources UP-TO-DATE
:ro:classes UP-TO-DATE
:ro:jar
:compileJava
:processResources UP-TO-DATE
:classes
:compileTestJava
:processTestResources UP-TO-DATE
:testClasses
:test
:ro:compileTestJava UP-TO-DATE
:ro:processTestResources UP-TO-DATE
:ro:testClasses UP-TO-DATE
:ro:test FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':ro:test'.
> No tests found for given includes: [ro.idea.ToggleTest.testIsAd]

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

输出显示“未找到给定包含的测试”,我的问题是:如何列出所有“给定测试”以及如何指定“给定测试”

是我的老问题

我不确定在执行之前列出所有给定的测试,因为我不相信在测试实际执行之前这是已知的。

您可以将它添加到您的build.gradle文件中:

test {
  beforeTest { descriptor ->
     logger.lifecycle("Running test: ${descriptor}")
  }
}

那么如果你去:

gradle clean test

它将运行所有测试,但也会在执行之前打印出测试描述符,提供method(className) ,如下所示:

:test
Running test: test testC(org.gradle.MySecondTest)
Running test: test testD(org.gradle.MySecondTest)
Running test: test testA(org.gradle.MyFirstTest)
Running test: test testB(org.gradle.MyFirstTest)

或者,您可以在不更改build.gradle文件的情况下运行前一个命令,然后查看将显示所有测试运行的build/reports/tests/index.html文件。

那么你可以指定一个单一的测试:

gradle clean test --tests "org.gradle.MyFirstTest.testA"

或者一个类中的所有测试:

gradle clean test --tests "org.gradle.MyFirstTest"

或者一个包中的所有测试:

gradle clean test --tests "org.gradle.*"

您还可以使用:

test {
    testLogging {
        events "passed", "skipped", "failed"
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM