我目前正在与CircleCi作斗争,因为我是新手,所以有很多问题。现在我的应用需要20分钟来构建,因为它构建了我们所有的productFlavour
。在我的圈子里。我有以下命令:
- ./gradlew --stacktrace connectedAndroidTest:
timeout: 1200
完整的circle.yml
文件启动模拟器,并对我们的productFlavours
之一(称为test)进行干净构建。通过运行以下命令,我可以很容易地确保只构建这个productFlavour
:
- ./gradlew clean assembleTestDebug -PdisablePreDex
构建大约需要1分钟。我现在的问题是使用connectedAndroidTest
命令,然后继续使用所有构建类型(发布和调试)构建所有构建变体,然后针对它们运行我们的测试,这非常耗时。这就是为什么我们的构建时间需要20分钟。
是否有一种方法可以告诉circle.yml
文件中的connectedAndroidTest
命令仅针对TestDebug
运行?
我尝试将构建变体添加到末尾(connectedAndroidTestTestDebug
),但这会导致CircleCi上出现以下异常:
'connectedAndroidTestTestDebug' not found in root project 'my_project'.
从我的经验来看,CircleCi的设置是一个很大的痛苦,我正在与他们的支持人员联系,但他们在不同的时区,这不是理想的,所以进展缓慢。我希望有人在CircleCi上建立了一个带有单元测试的Android项目,已经找到了一种方法,只能针对一个productFlavour/Build variant
运行它们。
提前感谢您的任何建议!
在CircleCi上运行connectedAndroidTest与构建变体。
例如我正在运行
- /gradlew connectedStagingMockDebugAndroidTest
你确定你找对任务了吗?检查使用
./gradlew tasks | grep connected