自定义Gradle任务在connectedAndroidTest失败后无法执行的问题咨询
自定义Gradle任务在connectedAndroidTest失败后无法执行的问题咨询
我手上有一个包含Instrumented Tests的Android项目,最近在尝试实现一个需求:让自定义Gradle任务pullData在connectedAndroidTest任务执行完成后立刻运行。
核心诉求是:不管connectedAndroidTest是成功还是失败,这个pullData任务都必须执行——它的作用是在Instrumented Tests跑完后,从测试设备上拉取相关的测试产物。
目前我在app模块的build.gradle里是这么配置任务依赖的:
tasks.register("pullData", Exec) { // 这里是拉取测试数据的具体代码 } gradle.projectEvaluated { connectedAndroidTest.finalizedBy pullData }
现在遇到的问题是:当connectedAndroidTest执行成功时,pullData能正常运行,文件也能从设备上下载下来;可一旦测试用例跑失败了,Gradle直接就判定任务失败,后续的pullData任务完全不会被执行。
我现在搞不懂两个点:
- 怎么才能让
pullData任务不管connectedAndroidTest的执行结果如何,都能在它之后运行? - 为什么
finalizedBy在测试失败的场景下不起作用?
真心希望能得到大家的帮助,谢谢!😊
编辑:已解决...
备注:内容来源于stack exchange,提问作者Pranay.Karani
相关产品推荐
相关产品推荐

