集成Android项目与CircleCi,只测试针对一个构建变体与connectedAndroidTest命令



我目前正在与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