我有这个 Android,带有默认的 Gradle 任务。在 Android 项目中,有一个androidTest
包,包含integrationTests
和uiTests
。我还有两个 Kotlin 类,其中包含一组要调用的测试类。
但是,同时./gradlew connectedAndroidTest
运行integrationTests
和uiTests
,我想将其分开。我想出了多种解决方案:
因此,我正在寻找一种仅测试integrationTests
或 的方法uiTests
。我怎样才能做到这一点?
我现在要给你一个廉价而愉快的答案。也许其他人将能够提供更完整的。
由于所有测试似乎都属于同一源集,因此您需要以其他方式区分它们。最合适的解决方案是您的测试库用于分组的任何机制,然后您可以从 Gradle 中使用它。
或者,使用命名约定之类的东西来区分 UI 测试和集成测试。
然后你做什么取决于你希望构建如何处理这些不同的类别。主要选项包括:
从命令行使用测试过滤- 通过--tests
选项 - 只运行集成或 UI 测试。请注意,过滤只能通过类名进行,因此您必须采用命名约定方法。
配置适当的Test
任务——是connectedAndroidTest
吗?— 这样,如果您设置特定的项目属性,它将根据该项目属性的值运行集成测试或 UI 测试。这涉及if
在配置中使用条件。这种方法适用于过滤和分组。
添加两个额外的Test
任务,一个执行集成测试,一个执行 UI 测试。你会connectedAndroidTest
保持原样。这是我的首选方法,但需要比其他方法更多的代码。
这个答案缺少关于如何实施这些解决方案的很多细节,但我担心现在填写这些细节对我来说太费时了。正如我所说,希望有人会给出更完整的答案。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句