Gradle,Robolectric和Espresso

有没有人用Gradle(Android Studio)成功地获得Robolectric和Espresso一起工作?

Robolectric在Android Studio工作很大程度上是因为Peter Friese的posthttp://www.peterfriese.de/android-testing-with-robolectric/ ,但由于instrumentRunner / instrumentTest碰撞,我不确定如何集成Espresso 。

理想情况下,我会有如下的目录结构:

|--src └── main (application source - exists) └── test (Robolectric unit tests go here - exists) └── testEspresso [*new*] (espresso tests go here) 

我的Gradle + Android知识并不是非常广泛,而且我不确定这是否真的是一个可行的事情(时间,复杂性和脆弱性水平不是太极端),如果是Gradle + Android的话,怎么去做。 另外如果它是相关的,我有2个不同的构build口味。

Solutions Collecting From Web of "Gradle,Robolectric和Espresso"

Robolectric和Espresso一起协调工作的一个很好的例子,请看这个由Robolectric团队创build的示例项目:

https://github.com/robolectric/deckard-gradle

另一个不包含任何“黑客,Gradle插件,IDE插件或IML编辑”的选项是http://blog.blundell-apps.com/android-gradle-app-with-robolectric-junit-tests/ 。 杰克·沃顿推荐了这种方法。 有了这个,你的Robolectrictesting就在一个独立的Java模块中,与你的主项目分开。 意大利咖啡代码与您的主要项目一起生活。

使用JW的双浓咖啡( https://github.com/JakeWharton/double-espresso )将简化包括Espresso和依赖pipe理的疯狂。

解决scheme@plackemacher提到,deckard-gradle,仍然是一个选项,并且正在维护,尽pipe它需要一些黑客或手术来使用IDE。

更新 :参见关于Robolectric和Gradle的讨论(与Gradle有关): https ://groups.google.com/forum/#!topic/robolectric/xsOpEwtdTi4/discussion

更新 :虽然我没有使用它,这看起来是票。 https://github.com/JakeWharton/double-espresso


目前,我select创build一个单独的Espresso分支(git),它具有正确的testRunner和testing目录集。 不是一个可怕的优雅的解决scheme…需要一些警惕,以保持一切最新,但它现在的工作!

如果有人find更好的解决scheme,肯定会改变答案。