微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – 只在运行单元测试时运行自定义gradle任务

如何设置gradle来运行特定的自定义复制任务,仅在运行单元测试时?

编辑

当我按下构建时,我想运行这些任务,i. e仅在构建的风格中包含单元测试执行.

解决方法:

我终于在this documentation的帮助下找到了解决方案,它以非常简洁的方式呈现了在构建,测试,发布等过程中运行的所有任务.因此,通过使任务清理,preBuild依赖于我的copyTask我可以确保每次清理或构建项目时都运行复制任务.

但是因为我不希望在构建或清理过程中运行它,但是当我只运行测试时想运行它,我确定了一个编译发布单元测试源的任务,称为compileReleaseUnitTestSources,但只是在build.gradle中提到它

compileReleaseUnitTestSources.dependsOn(mycopyTask)

实际上并不起作用,因为gradle会给出一个错误,说它无法找到任务compileReleaseUnitTestSources,因为某些原因该任务尚未可用.而是将它封装在afterEvaluate块中,我们可以确保在评估完所有任务后执行此块,这样我们现在可以访问该任务,所以最后我将它添加到我的build.gradle

afterEvaluate {
    compileReleaseUnitTestSources.dependsOn(copyResDirectoryToClasses)
}

这里的所有答案都提到使用dependsOn关键字将我的任务附加到在一般构建/测试执行期间运行的另一个任务,但是他们都没有提到如何解决gradle无法找到任务的问题,即使你确保这些任务可用并在构建/测试执行期间运行.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐