我正在尝试减少使用gradle运行测试所花费的时间。由于存在多个项目,因此我可以想到的方法之一就是将测试分为单元测试和集成测试。对于每个项目,我创建了两个不同的任务:unitTests任务和IntegrationTests任务。
为简化起见,假设我们总是在运行测试之前运行BetterSnackBar
。在这种情况下,我试图说明可以在哪里并行运行unitTests和IntegrationTests任务。
目前,我已经看到一个失败,其中一个任务开始编译项目,导致另一个任务失败,并显示错误:“无法读取zip文件”,这很可能是因为项目依赖的JAR现在正在被更新其他过程。这似乎是有可能的,因为我们将compileJava和compileTestJava作为依赖任务,它们会干扰依赖项目并导致失败。
想知道gradle是否有办法执行以下操作:
答案 0 :(得分:0)
Gradle目前还不支持并行运行同一项目的多个任务。但是,在运行测试时,它们可以在给定的测试任务中in parallel内运行。
对于可能由于在运行其他文件时更改文件而导致错误的问题,请确保Gradle知道任务之间的所有依赖关系,因为这将是解决这些问题的最佳方法。
在避免工作方面,Gradle经过优化,仅执行最低要求,包括最新的任务检查,避免编译等。因此,调用test
仅在自上次执行以来发生更改时才编译代码。