首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在使用基于Gradle的配置时在Android Studio (IntelliJ)上运行简单的JUnit测试

在使用基于Gradle的配置时在Android Studio (IntelliJ)上运行简单的JUnit测试
EN

Stack Overflow用户
提问于 2013-07-25 05:16:10
回答 4查看 63.7K关注 0票数 79

我正在使用Android Studio/IntelliJ来构建一个现有的Android项目,并希望添加一些简单的JUnit单元测试。在哪个文件夹中添加这样的测试是正确的?

android Gradle插件定义了一个目录结构,其中src/main/java用于主要源代码,src/instrumentTest/java用于Android测试。

尝试在instrumentTest中添加我的JUnit测试对我来说不起作用。我可以将其作为Android测试运行(这正是该目录的用途),但这不是我想要的--我只想运行一个简单的JUnit测试。我试着为这个类创建一个源代码运行配置,但同样不起作用--我假设是因为我使用的目录被标记为Android JUnit,而不是源代码。

如果我创建一个新的源文件夹,并在项目结构中这样标记它,那么下次IntelliJ从gradle build文件中刷新项目配置时,它将被清除。

IntelliJ上的基于gradle的安卓项目中配置JUnit测试更合适的方法是什么?对此使用哪种目录结构?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-02-12 04:53:49

从Android Studio1.1开始,答案很简单:http://tools.android.com/tech-docs/unit-testing-support

票数 23
EN

Stack Overflow用户

发布于 2013-07-25 06:02:00

通常情况下,你不能。欢迎来到Android的世界,所有的测试都必须在一个设备上运行(除了Robolectric)。

主要原因是您实际上没有框架的源代码-即使您说服IDE在本地运行测试,您也会立即得到一个"Stub!Not implemented“异常。“为什么?”你可能会疑惑?因为SDK给你的android.jar实际上是所有的存根-所有的类和方法都在那里,但是它们都抛出了一个异常。它的作用是提供一个API,而不是给你任何实际的实现。

有一个很棒的项目叫做Robolectric,它实现了很多框架,这样你就可以运行有意义的测试了。再加上一个很好的模拟框架(例如,Mockito),它让你的工作变得易于管理。

Gradle插件:https://github.com/robolectric/robolectric-gradle-plugin

票数 36
EN

Stack Overflow用户

发布于 2015-05-16 16:07:51

现在Android Studio从Android Gradle plugin 1.1.0开始支持这一点,请查看以下内容:

https://developer.android.com/training/testing/unit-testing/local-unit-tests.html

在GitHub上进行本地单元测试的示例应用程序:

https://github.com/googlesamples/android-testing/tree/master/unittesting/BasicSample

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17844957

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档