加入单元测试

android单元测试很多都是使用Instrumentation进行的,这里讲的是试用JUnit,为什么用JUnit呢?因为使用Instrumentation需要打包apk安装,然后再进行测试,即需要用一个项目去测试另一个项目。我现在想做的单元测试是在打包前进行一些测试验证,所以需要用JUnit。至于使用Instrumentation的单元测试,请看这里

maven默认的源代码src目录和测试代码test目录的结构是

src/main/java

test/java

实际使用中发现以下目录结构maven也可以使用

src/

test/

这个应该是因为项目源代码和test代码需要分开编译,在target中也是分开放置的。如果直接用eclipse的android项目结构(在eclipse中test需要放在src下才能运行)放到maven中运行,会出现类似package junit.framework does not exist 的错误,所以需要在构建前执行命令将test目录移动到src之外。

单元测试代码,新的JUnit中,测试方法已经不需要用test开头,只需加上 @Test。

package com.example.demo;
import com.example.util.PublicData;
import junit.framework.Assert;
import org.junit.Test;
import org.junit.Ignore;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4; @RunWith(JUnit4.class)
public class TestUrl { @Test
public void prodApi() {
String equals = PublicData.HTTP_URL;
Assert.assertEquals("http://prod.xxx.com", equals);
} @Test
public void devApi() {
String equals = PublicData.HTTP_URL;
Assert.assertEquals("http://dev.xxx.com", equals);
}
/*
@Test
@Ignore
public void thisIsIgnored() {
}
*/
}

使用Maven进行编译打包,会将test目录中test开头的类视为测试类,如果使用 testsuite,testsuite的类名用Test开头,testcase的类名不需要用test开头,避免重复被执行。

package com.example.demo;

import org.junit.runner.RunWith;
import org.junit.runners.Suite; @RunWith(Suite.class)
@Suite.SuiteClasses({
CheckAppInfo1.class,
CheckAppInfo2.class
}) public class TestGroup { }

最新文章

  1. 高介分类:核方法与支持向量机(SVM)
  2. 服务器运行环境(LNMP)安装说明
  3. 谈谈java开发
  4. Head First 设计模式 --10 状态模式
  5. 计算机图形学 - 图形变换(opengl版)
  6. php手册杂记
  7. Linux Rootkit Sample && Rootkit Defenser Analysis
  8. SpringMVC参数类型转化错误调试方法
  9. Java基础类库
  10. C如何使用内存
  11. Javascript计算中英文混输字符串长度V2
  12. JAVA反射机制示例,读取excel数据映射到JAVA对象中
  13. Jquery 插件初学习
  14. HTML5-WebSocket-初探
  15. C++参数传递(01)
  16. 基于AD5663的UV灯电压控制
  17. 性能测试二十:环境部署之Tomcat多实例部署+日志监控
  18. PyQt5系列教程
  19. php红包
  20. CRichEditCtrl 输入字符串长度限制

热门文章

  1. JavaScript学习14:表单处理
  2. [故障处理]西部数据wd elements xp 无法识别
  3. 自己写的Android端HttpUtil工具类
  4. 2016/2/24 1,dotctype有几种? 2,了解html的发展历史
  5. Cordova打包vue项目(Android)
  6. HelloH5+搭建
  7. 建立自己的私有docker(ssl&login auth)
  8. WdatePicker.js的使用方法(转)
  9. 【CJOJ】Contest4 - A+B Series
  10. Java对象与对象引用变量的理解