ReboletricSample工程搭建
受到 Just Say No to More End-to-End Tests
文章链接:http://googletesting.blogspot.tw/2015/04/just-say-no-to-more-end-to-end-tests.html
该文章启迪,决定对单元测试的内容稍做整理
Reboletric被测工程是Android Project,而测试工程是Java Project,执行的测试是Junit Test,并非Android Junit Test,跳过了模拟器,实现高效率运行
Reboletric官网:http://robolectric.org/getting-started/
工程环境Eclipse+maven(带M2Eclipse)插件
工程下载地址:
https://github.com/priyaaank/RobolectricSample
环境中,maven版本为3.1.1(需要根据情况更新到新版本);
robolectric包版本为:robolectric-2.4-jar-with-dependencies.jar
下载地址: https://repo1.maven.org/maven2/org/robolectric/robolectric/2.4/
M2Eclipse推荐安装方式:
插件方式,Help-Install new Software- 输入以下地址,
http://download.eclipse.org/technology/m2e/releases/
RobolectricSample示例工程
1.下载示例工程
2.命令行下切换到工程目录,执行android update project -p . --target 1
(--target指定android的api level,android list命令可查询)
3.import 导入示例工程
4.配置build path,添加robolectric-***-jar-with-dependencies.jar包;
添加<your android install directory>/add-ons/addon-google_apis-google-**/libs/maps.jar
关于Google Maps API maps.jar file for android
First of all update your SDK->Google Play Services and then
Find this Path in your Computer :
...\android-sdk-windows\add-ons\addon-google_apis-google-17\libs\maps.jar
add this jar using Add External Jar
...
导入包后的build path路径下如图所示:
5.右键test下工程,Right-click -> Run As ->JUnit Test
会提示如下对话框:
点击OK取消后,会弹出一个配置的对话框
6.
下载Android.jar
地址:http://www.java2s.com/Code/Jar/a/Downloadandroidjar.htm
配置Run Configuration,Right-click -> Run As -> Run Configurations
Tab: Classpath -> User Entries -> Add External JARs ...
找到android.jar
7.运行测试用例;右键点击测试用例,选择Run As -> Junit Test
执行后查看结果:
HttpTest.java这个case中导入的包
import com.google.inject.internal.Maps;
查到存在此文件的JAR包:
com.google.inject.internal.Maps.java
http://www.java2s.com/Code/Jar/g/Downloadguicepatches214sourcesjar.htm
执行mvn clean test后提示找不到com.google.inject.internal
笔者改为:
import com.google.inject.internal.util.$Maps;
com.google.inject.internal.util
com.google.inject.internal.util.Maps
执行后成功
可能遇到的问题:
1.Project build error: Unknown packaging: apk
在Eclipse中安装m2e-android插件
安装源:http://download.eclipse.org/technology/m2e/releases/
安装方法:Help -> Install new Software -> 在出来的对话框中点击 Add ->
Name:m2e-android
若m2e装好后仍未解决,检查Maven配置
Windows—>Preferences—>Maven—>User Settings,查看setting.xml
确保这里的Maven不是用的Eclipse自带的,而是本地下载的新版本的Maven
2.mvn clean install 报错:
Failure to find org.springframework:spring:jar:3.0.0.RELEASE in http://download.java.net/maven/2/ was cached in
the local repository, resolution will not be reattempted until the update interval of Java.Net has elapsed or updates are forced -> [Help 1] 解决办法:
Not sure if this works for Maven 3, here's what would work for Maven 2. This should work to clean the local repository: mvn dependency:purge-local-repository
Otherwise, try cleaning the specific artifact from your local repository: * Linux: ~/.m2
* Windows: C:\Documents and Settings\USER\.m2
另外见上两篇博文maven的两个坑:
3.http://www.cnblogs.com/melody-emma/p/5112658.html
4.http://www.cnblogs.com/melody-emma/p/5112722.html
5.@Override 的代码全部都报错
默认Maven中的JAVA版本是1.5,只要修改成1.6就好了 <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
希望本文能帮助你不再被坑
参考文章:http://blog.csdn.net/hunterno4/article/details/20653817
ReboletricSample工程搭建的更多相关文章
- 某马-某淘商城的day01--->分析,工程搭建,tomcat插件启动工程,svn,反思
-1:为什么还要写某马的某淘商城呢? 答:万物更新,季节交替.新人总把旧人换.所以呢,前人写了N多遍的东西,我们依旧在学,所以下决心写某马的某淘商城.(也因为在学校还没找工作,所以找个相对长期的事情做 ...
- Django---框架简介和工程搭建
Django框架 一.Django介绍 二.Django工程搭建 回到顶部 一.Django介绍 1.简介 Django的主要目的是简便.快速的开发数据库驱动的网站.它强调代码复用,多个组件可以 ...
- 单工程搭建springmvc+spring+mybatis(maven,idea)
单工程搭建springmvc+spring+mybatis(maven,idea) 1.pom.xml <properties> <project.build.sourceEncod ...
- Mybatis工程搭建
工程搭建 • 1依赖包 • 2配置文件 • 2.1spring-mybatis.xml • 2.2mybatis-config.xml自带配置文件 • 2.3 mapper(dao)对象 • 2.4 ...
- JAVAEE——宜立方商城01:电商行业的背景、商城系统架构、后台工程搭建、SSM框架整合
1. 学习计划 第一天: 1.电商行业的背景. 2.宜立方商城的系统架构 a) 功能介绍 b) 架构讲解 3.工程搭建-后台工程 a) 使用maven搭建工程 b) 使用maven的tomcat插件启 ...
- JAVAEE——淘淘商城第一天:电商行业的背景和技术特点,商城的介绍、技术的选型、系统架构和工程搭建
1. 学习计划 1.电商行业的背景. 2.电商行业的技术特点 3.商城的介绍 a) 常用的名词介绍 b) 系统功能介绍 4.淘淘商城的系统架构 a) 传统架构 b) 分布式架构 c) 基于服务的架构 ...
- SpringBoot - 工程搭建
SpringBoot 简介 1.Spring 的封装.其设计目的是用来简化 Spring 应用的初始搭建以及开发过程. 2.SpringCloud 微服务的基础 搭建环境 jdk 1.8 + mave ...
- JNI工程搭建及编译
JNI工程搭建及编译 建立Java工程 在具有C/C++比编译器的Eclipse中进行工程的创建,先创建一个简单的Java project,选项和一般同,这里仅仅需要将要调用的C/C++函数声明为na ...
- net core Webapi基础工程搭建(六)——数据库操作_Part 2
目录 前言 开始 使用 小结 前言 昨天是写着写着发现,时间不早了,已经养成了晚上下班抽时间看看能写点儿啥的习惯(貌似),今天实在是不想让昨天没做完的事情影响,所以又坐下,沉下心(周末了),开始把数据 ...
随机推荐
- [bzoj2302][HNOI2011]problem c 递推,dp
[HAOI2011]Problem c Time Limit: 30 Sec Memory Limit: 256 MBSubmit: 949 Solved: 519[Submit][Status] ...
- 线程与threading模块
线程 进程内一个相对独立的.可调度的执行单元,是系统独立调度和分派CPU的基本单位.在单个进程中同时运行多个线程完成不同的工作,称为多线程. 同一进程内的多个线程是共享该进程的资源. 创建新的线程开销 ...
- Team Contests - Warmup(2016年多校热身赛,2016年黑龙江省赛)
Team Contests - Warmup A 题意:... 思路:不会 代码:... 随机 B 题意:给n个点,问是否有一个圆上有最少n/3个点 思路:随机大法好. 代码:... 递推 C 题意: ...
- 【BZOJ3529】【SDOI2014】数表 (莫比乌斯反演+树状数组)
传送门 Description 有一张$n\times m$的数表,其第$i$行第$j$列 $(1≤i≤n,1≤j≤m)$ 的数值为能同时整除$i$和$j$的所有自然数之和.现在给定$a$,计算数表中 ...
- 【HDOJ5971】Wrestling Match(二分图,并查集)
题意:有n个人,m场比赛,x个人为good player,y个人为bad player, 每场比赛两个人分分别为good和bad,问good和bad是否会冲突 1 ≤ N≤ 1000,1 ≤M ≤ 1 ...
- 前端开发 CSS中你所不知道的伪类与伪元素的区别--摘抄
做过前端开发的人都熟悉伪类与伪元素,而真正能够彻底了解这二者的区别的人并不多.伪类与伪元素确实很容易混淆. 伪元素主要是用来创建一些不存在原有dom结构树种的元素,例如:用::before和::aft ...
- HDU 6231 (二分+双指针)
题意:给一个长度为n的数组,问在由这个数组的所有的区间第k小组成B数组中,第m大元素是多少 解法:这题较难的地方在于转化思维.如果去求所有区间的第k小,最坏复杂度是O(n*n)肯定超时. 这题正确的解 ...
- 【Eclpise】Eclipse中Tomcat启动失败或者是重启失败
经常在Eclipse中遇到这样的问题,tomcat重启之后失败,而且也停止不了.最好的解决办法就是用DOS命令杀死进程. 比如下面这种情况: 1.查看进程ID 用windows的netstat查看信 ...
- Python入门--20--类、对象
OO=Object Oriented 面向对象 python是面向对象的编程语言 OO的特征: 1.封装:把一堆东西都扔到一起,变为一个类 2.继承:假如一个类里面 3.多态:不同的类有相同名称的函数 ...
- (2)html 块类
span span是内联元素,内联元素的特点:在显示时通常不会以新行开始 div div是块级元素,块级元素会换新行 class 设置 <head> <style> .citi ...