Android、JUnit深入浅出 JUnit深入解析
2010-05-26 02:25:00 来源:WEB开发网通过前面2篇文章的学习,我们对JUnit有了初步的认识,下面我们将深入的解析JUnit数据包。整个 JUnit的数据包应该是很强大的,但是一般来说,不一定每个工程都需要这些数据包,而是在JUnit部分数据包的基础上扩展出自己的数据包,Android SDK中也不例外。至于JUnit完整的包,这里我们就不详细分析了,我们这里只解析Android SDK中包含的那些JUnit数据包,以及Android SDK在JUnit的基础上扩展的一些数据包,如下:
SDK功能说明
junit.frameworkJUnit测试框架
junit.runner实用工具类支持JUnit测试框架
android.testAndroid 对JUnit测试框架的扩展包
android.test.mockAndroid的一些辅助类
android.test.suitebuilder实用工具类,支持类的测试运行
在这些包中最为重要的是:junit.framework、android.test,其中前者是JUnit的核心包,后者是Andoid SDK在Junit.framework的基础上扩展出来的包,我们将重点解析这2个包。
首先解析junit.framework包,结构如下:
通过这张图,大家就可以比较清晰的看到JUnit的主要框架,再回去看下上篇文章的例子,对前面的例子感觉明白多了。做个简要的总结,如下:
TestSuit:TestSuite是测试用例的集合;
TestCase:定义运行多个测试用例;
TestResult:收集一个测试案例的结果,测试结果分为失败和错误,如果未能预计的断言就是失败,错误就像一个 ArrayIndexOutOfBoundsException异常而导致的无法预料的问题;
TestFailure:测试失败时捕获的异常;
Assert:断言的方法集,当断言失败时显示信息;
TestCase与TestSuite之间的关系,有些类似于图元对象与容器对象之间的关系,在面向对象的语言C++、JAVA中较常见,在这里就不多说了。
举个简单的例子,并简要说明过程
第一步:实现TestCase
继承父类TestCase;
定义一下变量在测试中使用;
在setUp()中初始化这些变量;
在tearDown()中清理这些变量;
public class MathTest extends TestCase{
protected double fValue1;
更多精彩
赞助商链接