突发新闻: Android Studio 1.1.0现在内置了对单元测试的支持。点击此处:https://sites.google.com/a/android.com/tools/tech-docs/unit-testing-support
起初我知道非常非常非常类似的问题(即使在这里也是如此)。他们中的大多数都非常过时,所以我问一个新的问题应该是Android Studio 0.8.x的最新版本。
我知道有些图书馆以某种方式运作,但几乎在每种情况下我都没有证据证明这些信息是最新的。我知道有例如roboelectric,还有一些被弃用的杰克沃顿,如gradle-android-test-plugin或double-espresso,我还找到了图书馆RoboSpock和Deckard。但它们似乎都没有任何Android Studio集成。
经过长时间的研究,我在所有实现中发现了这两个错误:
我在寻找:
我发现某个地方还有一个很好的黑客,它将gradle中的测试作为一个外部任务运行,并将结果推送到AS中,以便显示结果,但不幸的是我再也找不到该链接(如果我没记错的话)也不适合我。)
你们有新鲜的参考资料吗?它对你有用吗?
答案 0 :(得分:2)
您必须编辑Android Studio生成的.iml文件以指向您的测试类目录,并修复Junit中的Stub错误。目前没有解决此问题的方法。
Gradlectric是一个使用Robolectric Gradle Plugin在Android Studio中运行单元测试的示例。
答案 1 :(得分:1)
这里您错过了一个示例项目设置https://github.com/nenick/android-gradle-template
但他们似乎没有任何Android Studio集成。
这个项目是为android studio维护的
类路径被破坏,需要被黑客攻击才能运行junit
gradle脚本将修复类路径
无法调试junit测试
测试AS内部运行,以便于调试
答案 2 :(得分:0)
This项目并未涵盖所有您的请求,但其中包含相当多的请求。 它涵盖了一个默认的Java测试用例,以及一些与Views交互的测试。
根项目使用Travis CI,它使用gradle connectedCheck
来运行测试。为了能够调试测试,您只需在AS中创建测试运行配置并在调试模式下运行它。
请注意,这不使用任何特殊的Android测试框架,如robolectric。
答案 3 :(得分:0)
你可以找到Jake Wharton的gradle-android-test-plugin here的分支。这与AS 0.6兼容,并由Robolectric定期维护。您可以借助此插件查看this project在Android Studio中设置Robolectric。在robolectric-gradle-plugin的帮助下,您可以实现您提到的相当多的功能。您还可以使用AS成功调试测试代码。