当前位置: 首页 > news >正文

Android Studio下执行单元测试

今天在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/

相关文章:

  • 信托公司的“大数据”战略思维
  • 保护数据中心中的流量
  • 台湾桃园市“四大方案”强推太阳能发电
  • 2015年度Android安全报告 第三方应用堪忧
  • SaaS如何为B2B市场注入能量?
  • .NET单元测试
  • Ovum重磅报告:2016年RAN供应商市场份额及收入预测
  • 我用JAVA做了个简易图像相似度计算器
  • 院士宁波纵论“智慧城市”
  • 车联网普及将为交通带来新景象
  • 文件夹复制操作(非递归循环遍历文件夹)
  • 无人机如何帮助黑客关闭电厂或其他基础设施
  • 河北实施工业云与大数据试点示范工程
  • 阿里云设举报中心:拒绝一切网络灰黑产
  • CRM产品设计思考
  • [ JavaScript ] 数据结构与算法 —— 链表
  • [iOS]Core Data浅析一 -- 启用Core Data
  • AWS实战 - 利用IAM对S3做访问控制
  • css的样式优先级
  • Docker: 容器互访的三种方式
  • Go 语言编译器的 //go: 详解
  • gulp 教程
  • JDK9: 集成 Jshell 和 Maven 项目.
  • Laravel 实践之路: 数据库迁移与数据填充
  • windows下mongoDB的环境配置
  • 多线程 start 和 run 方法到底有什么区别?
  • 前端学习笔记之观察者模式
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • #android不同版本废弃api,新api。
  • #NOIP 2014# day.2 T2 寻找道路
  • (13)Hive调优——动态分区导致的小文件问题
  • (3)nginx 配置(nginx.conf)
  • (4)STL算法之比较
  • (二)PySpark3:SparkSQL编程
  • (附源码)springboot电竞专题网站 毕业设计 641314
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • ./和../以及/和~之间的区别
  • .NET MVC第五章、模型绑定获取表单数据
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  • .net2005怎么读string形的xml,不是xml文件。
  • .net最好用的JSON类Newtonsoft.Json获取多级数据SelectToken
  • /usr/lib/mysql/plugin权限_给数据库增加密码策略遇到的权限问题
  • [ASP.NET MVC]Ajax与CustomErrors的尴尬
  • [C# 网络编程系列]专题六:UDP编程
  • [C++] 默认构造函数、参数化构造函数、拷贝构造函数、移动构造函数及其使用案例
  • [C++]二叉搜索树
  • [ERROR] Plugin 'InnoDB' init function returned error
  • [Excel] vlookup函数
  • [iOS]-网络请求总结