编写测试用例(大工程时使用)
2015-09-11 09:56
281 查看
创建测试工程
测试工程一般是依赖于某个现有的工程,一般的做法是,在现有工程下新建一个test文件,测试工程就放在那里。先创建一个Android Test Project
然后在AndroidManifest.xml中添加
<instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.example.broadcastbestpractice"/> 包名为要测试的android程序的包名。 并在application中添加 <uses-library android:name="android.test.runner"/>
进行单元测试
在要测试的BroadcastBestPractice项目中有一个ActivityCollector类,最主要是用于对所有的Activity进行管理的,那么我么就来测试这个类,首先在BroadcastBestPracticeTest项目中创建一个ActivityCollectorTest类让它继承AndroidTesCase,然后重写setUp()和tearDown(),如下:public class ActivityCollectorTest extends AndroidTestCase{ @override protected void setUp() throws Exception{ super.setUp(); } @override protected void tearDown() throws Exception{ super.tearDown(); } }
其中setUp()方法会在所有的测试用例执行之前调用,可以在这里进行一些初始化操作,tearDown()方法会在所有的测试用例执行之后调用,可以在这里进行一些资源释放工作。
只需要定义一个以test开头的方法,测试框架就会自动调用这个,然后我们在方法中可以通过断言(assert)的形式来期望一个运行结果,在和实际的进行比较,这样就可以了,测试用例覆盖的功能越广泛,程序出现bug的机会越小。
比如说ActivityCollector中的addActivity()方法时用于向集合里添加活动的,那我们给这个方法添加测试用例代码如下:
public class ActivityCollectorTest extends AndroidTestCase{ @override protected void setUp() throws Exception{ super.setUp(); } public void testAddActivity(){ assertEquals(0,ActivityCollector.activity.size()); LoginActivity loginActivity = new LoginActivity(); ActivityCollector.addActivity(loginActivity); assertEquals(1,ActivityCollector.activities.size()); } @override protected void tearDown() throws Exception{ super.tearDown(); } }
然后点击测试工程Run As->Android JUnit Test来运行这个程序,当我们来测试集合中是否已经包含某个活动时,可以调用contains方法来检测。
相关文章推荐
- 布尔属性
- shell script数组使用函数输出
- android自定义倒计时控件示例
- 《WebGL编程指南》学习——绘制和变换三角形
- Linux系统下基本的帮助查询命令小结
- Oracle(九)PL/SQL 游标
- Linux下kill所有的Oracle远程连接
- poj Going from u to v or from v to u? 强联通缩点+拓扑排序(或搜索)
- eclipse and idea for mac 常用快捷键
- poj Going from u to v or from v to u? 强联通缩点+拓扑排序(或搜索)
- mysql返回记录的ROWNUM(转)
- 利用shiro的路经过滤PathMatchingFilter实现记录日志
- Sql Server 里的向上取整、向下取整、四舍五入取整的实例!
- 关于node.js中的异步流程控制
- Hadoop系列之五:MapReduce进阶(2)
- 《WebGL编程指南》学习——入门
- MATLAB如何读取TXT中的数据?
- java企业考勤系统
- 1.开发规范-- 常用的版本控制
- 运算符重载