您现在的位置是:首页 > 文章详情

Android Studio下执行单元测试

日期:2017-07-02点击:294
今天在Android Studio下学习怎么执行单元测试,现总结如下:
1. https://coderwall.com/p/ybds4w
http://blog.futurice.com/android_unit_testing_in_ides_and_ci_environments
2. 出现问题如下:
Exception in thread "main" java.lang.NoClassDefFoundError: junit/textui/ResultPrinter
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:113)
Caused by: java.lang.ClassNotFoundException: junit.textui.ResultPrinter
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
... 3 more
原因为调用的junit  android-studio\plugins\junit\lib\junit-rt.jar 下没有junit/textui/ResultPrinter 这个class文件,怎么解决呢????
3. com.google.inject的maven配置 
<dependency>
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
<version>1.0</version>
</dependency>
4. android-4.0.1.2.jar Maven配置
<dependency>
<groupId>com.google.android</groupId>
<artifactId>android</artifactId>
<version>4.0.1.2</version>
</dependency>
5. 用gradle编译项目时出错:
Could not create plugin of type 'AppPlugin'
解决方法:
classpath 'com.android.tools.build:gradle:0.7.0' 改为 classpath 'com.android.tools.build:gradle:0.7.3'
6. 用gradle 同步工程出现错误如下:
Unable to load class 'org.gradle.api.artifacts.result.ResolvedComponentResult'
解决方法:
classpath 'com.android.tools.build:gradle:0.7.3'
7. gradle-plugin and the gradle version说明:
There is a relation between gradle-plugin and the gradle version. For example
com.android.tools.build:gradle:0.6.+  -> gradle 1.8
com.android.tools.build:gradle:0.7.+  -> gradle 1.9
com.android.tools.build:gradle:0.8.+  -> gradle 1.9/1.10
com.android.tools.build:gradle:0.9.+  -> gradle 1.10/1.11
You can find gradle version used in your project in the file gradle/wrapper/gradle-wrapper.properties
Also there is a relation between gradle-plugin and the IDE version. For example:
Android Studio 0.3.x -> gradle-plugin 0.6
Android Studio 0.4.x -> gradle-plugin 0.7
Android Studio 0.4.3+ -> gradle-plugin 0.8
Android Studio 0.5.x  -> gradle-plugin 0.9
For updated news you can check this link: http://tools.android.com/recent
8. 错误问题如下:
!!! JUnit version 3.8 or later expected:
java.lang.RuntimeException: Stub!
at junit.runner.BaseTestRunner.<init>(BaseTestRunner.java:5)
at junit.textui.TestRunner.<init>(TestRunner.java:54)
at junit.textui.TestRunner.<init>(TestRunner.java:48)
at junit.textui.TestRunner.<init>(TestRunner.java:41)
解决方法:(https://github.com/robolectric/deckard-gradle)
For Intellij, go to Project Structure -> Modules -> deckard-gradle pane. In the Dependencies tab, move the Module SDK dependency (i.e. Android API 19 Platform) to be the last item in the list.
For Android Studio, dependency ordering is currently not modifiable via any GUI. Therefore, you must modify the project iml file directly as such and reload the project:
<orderEntry type="library" exported="" scope="TEST" name="wagon-provider-api-1.0-beta-6" level="project" />
<orderEntry type="library" exported="" scope="TEST" name="xercesMinimal-1.9.6.2" level="project" />
<orderEntry type="jdk" jdkName="Android API 19 Platform" jdkType="Android SDK" />
<---make sure this is the last orderEntry
</component>
</module>
9.下载android sdk和platform API参考地址:
http://xtbbbbdx.blog.51cto.com/3506227/1009209
android-3.0_r02-linux.zip的下载链接
http://dl.google.com/android/repository/android-3.0_r02-linux.zip
10:  NoClassDefFoundError: com/intellij/rt/execution/junit/JUnitStarter: com/intellij/rt/execution/junit/JUnitStarter
解决方法:???
11. No resource found that matches the given name 'Theme.AppCompat.Light.DarkActionBar'.
解决方法:
using android-support-v7-appcompat.jar lib inside libs folder
(compile'com.android.support:appcompat-v7:19.0.+')


最新内容请见作者的GitHub页:http://qaseven.github.io/
原文链接:https://yq.aliyun.com/articles/134611
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章