我们正在开发Android应用程序。我们有一个项目,多个库和几个测试项目。测试项目中的一些测试用例被组织成套件。 我们的布局看起来像这样:
一切正常(某种程度上),但由于各种原因,我们决定将其迁移到基于gradle的新构建系统中。这是麻烦的开始。
据我了解,在新构建系统所需的新项目布局中,测试与应用程序/库(在文件夹instrumentTest中)位于同一项目中。 我可以想象我们可以将所有这些AppTest应用程序的源代码折叠到Application的单个instrumentTest文件夹中,但我们绝对不希望所有测试都在同一次运行中启动。
例如,AppTest1.suiteDeep中的测试大约需要45分钟,因此不适合在每次提交到Gerrit管理的存储库进行提交验证后运行。
另一个问题是关于目标设备。在我们的CI服务器上,我们已经连接了几个Android设备,但我们不希望测试在所有这些设备上运行。在旧的构建系统上,这很简单,我们所要做的就是通过ant指定在哪个设备上运行仪器。 但是使用gradle,所有连接的设备都是并行使用的。我相信这有时是有用的,但在我们的环境中它并不适合也不是理想的行为。
我在网上到处查看,但我无法找到解决这些问题的方法。任何提示将不胜感激。
我目前正在使用gradle android插件v 0.8.1。