Gradle是否有对应Sbt testQuick及仅运行失败测试的等价功能?
Gradle中对应Sbt
testQuick的等价功能 嘿,这个问题我门儿清!Gradle里确实有和Sbt的testQuick功能对等的实现,给你详细说说:
Gradle 6.0+ 自带的快捷方案
这是最直接的替代选项,只要在运行测试时加上--only-failed参数,Gradle就会自动只执行上一次测试任务中失败的用例,完全匹配testQuick的核心逻辑。执行命令如下:gradle test --only-failed它会读取之前测试生成的结果缓存,精准定位失败的测试类和方法,不用你手动指定。
旧版本Gradle的替代方式(6.0之前)
如果你的Gradle版本还没到6.0,没有内置的--only-failed,可以用这两种方式凑出类似效果:- 手动指定失败测试:先打开
build/reports/tests/test/index.html查看失败的测试类或方法,然后用--tests参数定向运行,比如:gradle test --tests "com.example.MyFailedTest" - 借助第三方插件:比如
org.gradle.test-retry插件,除了重试失败测试,也能配置成只运行之前失败的用例,具体可以在构建脚本里配置插件后通过参数触发。
- 手动指定失败测试:先打开
自定义快捷任务(更贴近Sbt体验)
如果你想更贴近Sbt里直接敲testQuick的体验,可以在build.gradle里自定义一个任务:task testQuick(type: Test) { onlyFailed = true // 继承主test任务的配置 configurations = test.configurations testClassesDirs = test.testClassesDirs classpath = test.classpath }之后直接运行
gradle testQuick就可以啦,和Sbt的命令风格完全一致。
内容的提问来源于stack exchange,提问作者mut1na
相关产品推荐
相关产品推荐

