JUnit那些事

    在一个项目中,程序员天天的工做无非是,将今天须要作得事情从svn服务器中checkout下来,而后运行一遍单元测试,以后开始编写代码,下班时,在运行一次单元测试,而后提交代码,周而复始。java

    在一些小公司里,可能并非那么规范,因此也可能不会用到junit,可是大部分比较正规的软件仍是必须的,咱们要作的就是,使本身更专业,作事更流程化、规范化,这才是你要去往的方向。程序员

    企业开发一款软件,通常要经历一下几个阶段的测试,单元测试、模块测试、集成测试、压力测试等。测试的内容至关之多,这里咱们就从单元测试开始。服务器

    由于如今主要使用的仍是junit4,因此主要讲junit4,下载地址:http://sourceforge.net/projects/junit/ 使用junit的基本原则是:eclipse

一、导入junit的jar,不建议直接使用eclipse中所提供的包。svn

二、在src目录下编写服务代码工具

三、建立测试类单元测试

    基本原则: 一、在eclipse中建立一个source folder命名为test测试

                 二、建立一个测试类所在的包,包的名称和测试的类一致。ui

四、Junit3和Junit4二者之间的区别是很是明显的google

    在Junit3中,若是某个类须要是测试类,必须将其继承于TestCase, 若是某个方法须要是测试方法,必须让这个方法经过testXXX开头,在junit3中,若是但愿指定某个测试方法运行以前运行某个初始化方法,这个方法的名称必须是setUp,若是但愿在某个测试方法运行以后运行某个释放资源的方法,这个方法的名称必须是teadDown

    在Junit4中,一个POJO类就是一个测试类,测试方法经过@Test来标识,初始化方法经过@Before,释放资源的方法经过@After来标注。可是为了让Junit4中的测试类在Junit3中也可使用,习惯与把初始化方法命名为setUp, 释放资源的方法命名为tearDown,测试方法也一样以test开头。

五、如何使用断言
   在junit4中提供了一个Assert的类,这个类中有大量的方法进行断言处理,在junit3中因为继承了TestCase,这个TestCase中提供了大量的assert方法

junit扩展工具hamcrest

下载地址:https://code.google.com/p/hamcrest/downloads/detail?name=hamcrest-1.3.zip

hamcrest能够有效增长junit的测试能力,用一些相对通俗的语言来进行测试
要使用junit中的assertThat来进行断言
第一个参数表示实际值,第二个参数表示hamcrest的表达式

特别注意:若是使用junit4.10,必须把hamcrest的jar包移到junit的jar以前,不然,组合条件allOf,anyOf都会抛出异常。

组合多个测试类,同时测试使用TestSuite

package com.wp.util;

import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;

@RunWith(Suite.class)
@SuiteClasses({ TestA.class,
				TestB.class,
				TestCulcuate.class })
public class TestSuite {
	/*
	 * 测试原则:
	 * 	一、建议建立一个专门的source folder --> test来编写测试类代码
	 *  二、测试类的包应该保持和须要测试的类一致
	 *  三、测试单元中的每个测试方法都必须能够独立执行,没有顺序
	 */
}



基本结构就是上面的样子。

相关文章
相关标签/搜索