我已经使用默认的Gradle任务获得此Android。在Android项目中,有一个androidTest
包,其中包含integrationTests
和uiTests
。我还有两个Kotlin类,包含一组要调用的测试类。
但是,./gradlew connectedAndroidTest
同时运行integrationTests
和uiTests
,我想将其分开。我提出了多种解决方案:
所以我正在寻找一种只测试integrationTests
或uiTests
的方法。我怎么能这样做?
答案 0 :(得分:1)
我现在要给你一个便宜又开朗的答案。也许其他人将能够提供更充分的。
由于所有测试似乎都是同一源集的一部分,因此您需要以其他方式区分它们。最合适的解决方案是您的测试库对分组的任何机制,然后您可以utilise from Gradle。
或者,使用类似命名约定的东西来区分UI测试和集成测试。
您的工作取决于您希望构建如何处理这些不同的类别。主要选项包括:
使用命令行中的test filtering - 通过--tests
选项 - 仅运行集成或UI测试。请注意,过滤仅适用于类名,因此您必须使用命名约定方法。
配置相应的Test
任务 - 是connectedAndroidTest
吗? - 这样,如果设置了特定的项目属性,它将根据该项目属性的值运行集成测试或UI测试。这涉及在配置中使用if
条件。这种方法适用于过滤和分组。
添加两个额外的Test
任务,一个执行集成测试,另一个执行UI测试。你会保持connectedAndroidTest
不受影响。这是我首选的方法,但需要比其他方法更多的代码。
这个答案缺少很多关于如何实施这些解决方案的细节,但是我担心现在填写这个细节对我来说太费时间了。正如我所说,希望有人会得到更全面的回答。