Gradle中test任务与check任务的区别是什么?
Gradle中
check与test任务的区别及输出一致原因 嘿,我来帮你理清楚这俩Gradle任务的区别,还有为啥你执行它们的输出完全一样~
核心差异
test任务:职责非常专一——就是运行你项目里的单元测试(比如你配置的JUnit 4.12测试用例)。它只会执行测试代码、生成测试报告,不会涉及其他类型的验证工作。check任务:是个「聚合型任务」,它的作用是触发所有属于「Verification tasks」范畴的验证任务,test只是它默认包含的成员之一。如果你的项目里还配置了其他验证类任务(比如代码风格检查的checkstyle、静态代码分析的pmd、依赖检查的dependencyCheck等),check会把这些任务挨个跑一遍,而不只是测试。
为啥你这里两者输出完全相同?
因为你的build.gradle里目前只配置了test这一个验证相关的任务,没有添加其他任何额外的验证插件或任务。这时候check任务实际上就只触发了test这一个子任务,所以执行./gradlew check和./gradlew test的效果、输出自然就完全一致了。
举个简单例子,要是之后你给项目加上Checkstyle插件:
apply plugin: 'checkstyle'
这时候再跑./gradlew check,你就会看到它先执行test,接着还会运行checkstyleMain和checkstyleTest来检查代码风格,输出内容就会和单独跑test明显不一样啦。
内容的提问来源于stack exchange,提问作者andrewgazelka
相关产品推荐
相关产品推荐

