Gradle:在部署期间而不是在安装期间运行集成测试

时间:2018-03-01 18:46:26

标签: maven unit-testing testing gradle integration-testing

我正在寻找关于最佳实践的建议以及如何实现这一建议。

我们需要测试类型,使用Mockito模拟出依赖项的测试(单元测试,因为他们在代码单元上进行测试),然后做一些坚果(RESTful Resource - > Database,称他们为集成测试)。

Integration测试正在引导新的JVM并填充H2数据库,因此它们需要更长的时间才能运行。

理想情况下,我们希望在您发出命令gradle test时运行单元测试,但如果您要进行部署,我们也希望集成测试也能运行。

无论如何,我很好奇人们在部署之前做了多少确定的集成测试,或者他们是否已经用另一种方式解决了这个问题。谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用任务依赖关系来确保在部署任务之前执行集成任务。

假设运行集成测试的任务名为integTestTask,部署任务名为deployTask

deployTask.dependsOn integTestTask

此命令确保执行gradle deployTask集成任务时将在部署任务之前运行。检查下面的页面,分别进行单元测试和集成测试。

https://docs.gradle.org/current/userguide/tutorial_using_tasks.html#sec:task_dependencies

https://www.michael-bull.com/blog/2016/06/04/separating-integration-and-unit-tests-with-gradle