【发布时间】:2015-06-08 05:43:30
【问题描述】:
我设置了成绩脚本。 当我执行 Gradle 构建时,一切正常,它运行 jUnit 测试。
之后,当我运行 Gradle 测试时,我得到以下信息:
C:\Users\..\..\Project>gradle test
:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:compileTestJava UP-TO-DATE
:processTestResources UP-TO-DATE
:testClasses UP-TO-DATE
:test UP-TO-DATE
当我执行gradle clean 时,Gradle 构建当然可以工作......
我希望能够只重置测试,而不是构建整个项目:我应该怎么做?
【问题讨论】:
-
根据给定的信息,这似乎是不必要的。如果应用程序代码和测试代码都没有改变,为什么需要重新运行测试?
-
@Jolta 我的代码中的一些测试与 3 方输入相关,我运行测试不仅是为了确保我没有在代码中添加任何错误,还检查是否我得到的 3 方输入发生了一些变化
-
对不起,我很挑剔,但我真的不认为这是思考这个问题的正确方法:如果你有可变的 3 方输入不是处理这个问题的正确方法以某种方式模拟这些输入?测试实际上应该是关于测试你正在编写的代码。如果您依赖 3 方输入是不可接受的,那么您是否会面临相当明显的误报危险?该策略不应该将问题输入作为应用代码的一部分吗?
-
@mikerodent 考虑针对第 3 方在线服务测试您的代码。您可能希望监控服务 API 中可能发生的变化,以便能够尽快对已部署的修复做出响应。 CI 测试不是这样做的好方法吗?使用模拟只会告诉您自己的代码没有回归,但依赖项仍然可能会发生变化。使用真实的服务,说明你的产品在当前环境下确实可以执行预期的操作。
-
从集成测试的角度来看,这也是有效的,其中测试的目的是验证您的代码与其他代码位的集成,在这种情况下不适合模拟依赖项
标签: java gradle build.gradle