使用Jenkins进行android项目的自动构建(4)
2024-08-23 12:15:28
加入单元测试
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 { }
最新文章
- 高介分类:核方法与支持向量机(SVM)
- 服务器运行环境(LNMP)安装说明
- 谈谈java开发
- Head First 设计模式 --10 状态模式
- 计算机图形学 - 图形变换(opengl版)
- php手册杂记
- Linux Rootkit Sample &;&; Rootkit Defenser Analysis
- SpringMVC参数类型转化错误调试方法
- Java基础类库
- C如何使用内存
- Javascript计算中英文混输字符串长度V2
- JAVA反射机制示例,读取excel数据映射到JAVA对象中
- Jquery 插件初学习
- HTML5-WebSocket-初探
- C++参数传递(01)
- 基于AD5663的UV灯电压控制
- 性能测试二十:环境部署之Tomcat多实例部署+日志监控
- PyQt5系列教程
- php红包
- CRichEditCtrl 输入字符串长度限制
热门文章
- JavaScript学习14:表单处理
- [故障处理]西部数据wd elements xp 无法识别
- 自己写的Android端HttpUtil工具类
- 2016/2/24 1,dotctype有几种? 2,了解html的发展历史
- Cordova打包vue项目(Android)
- HelloH5+搭建
- 建立自己的私有docker(ssl&;login auth)
- WdatePicker.js的使用方法(转)
- 【CJOJ】Contest4 - A+B Series
- Java对象与对象引用变量的理解