JUnit(单元测试框架) 【附件带包junit-4.4.jar junit-4.4-src.jar】junit4.4包+源码
基本使用:
一、搭建环境:
导入junit.jar包(junit4)
二、写测试类:
1,一般一个类对应一个测试类。
2,测试类与被测试类最好是放到同一个包中(可以是不同的源文件夹)
3,测试类的名字为被测试类的名字加Test后缀。
三:写测试方法:
1,一般一个方法对应一个单元测试方法。
2,测试方法的名字为test前缀加被测试方法的名字,如testAddPerson()。
3,单元测试方法上面要加上@Test注解(org.junit.Test)!
4,单元测试方法不能有参数,也不能有返回值(返回void)!测试的方法不能是静态的方法。
四、测试方法的基本使用:
1,可以单独执行一个测试方法,也可以一次执行所有的、一个包的、一个类中所有的测试方法。
2,执行完后,显示绿色表示测试成功;显示红色表示测试失败(抛异常后会测试失败)。
Assert断言工具类
其中有一些静态的工具方法(不符合期望就抛异常):
assertTrue(...) 参数的值应是true
assertFalse(...) 参数的值应是false
assertNull(...) 应是null值
assertNotNull(...) 应是非null的值
assertSame(...) 使用==比较的结果为true(表示同一个对象)
AssertNotSame(...) 使用==比较的结果为false
assertEquals(...) 两个对象equals()方法比较结果为true
用于准备环境、清理环境的方法
@Test
表示单元测试方法。
@Before
所修饰的方法应是非static的(且没有参数,返回值为void)。
表示这个方法会在本类中的每个单元测试方法之前都执行一次。
@After
所修饰的方法应是非static的(且没有参数,返回值为void)。
表示这个方法会在本类中的每个单元测试方法之后都执行一次。
@BeforeClass
所修饰的方法应是static的(且没有参数,返回值为void)。
表示这个方法会在本类中的所有单元测试方法之前执行, 只执行一次。
@AfterClass
所修饰的方法应是static的(且没有参数,返回值为void)。
表示这个方法会在本类中的所有单元测试方法之后执行, 只执行一次。
注意细节:如果点击方法名,类名,包名,工程名 运行JUnit分别测试的是对应的方法,类,包,工程中的所有test方法。
package com.cn.junit;
import static org.junit.Assert.*;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Assert;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
/**
* Author:Liu Zhiyong(QQ:1012421396)
* Version:Version_1
* Date:2016年8月28日15:14:02
* Desc:
JUnit(单元测试框架)
基本使用:
一、搭建环境:
导入junit.jar包(junit4)
二、写测试类:
1,一般一个类对应一个测试类。
2,测试类与被测试类最好是放到同一个包中(可以是不同的源文件夹)
3,测试类的名字为被测试类的名字加Test后缀。
三:写测试方法:
1,一般一个方法对应一个单元测试方法。
2,测试方法的名字为test前缀加被测试方法的名字,如testAddPerson()。
3,单元测试方法上面要加上@Test注解(org.junit.Test)!
4,单元测试方法不能有参数,也不能有返回值(返回void)!测试的方法不能是静态的方法。
四、测试方法的基本使用:
1,可以单独执行一个测试方法,也可以一次执行所有的、一个包的、一个类中所有的测试方法。
2,执行完后,显示绿色表示测试成功;显示红色表示测试失败(抛异常后会测试失败)。
Assert断言工具类
其中有一些静态的工具方法(不符合期望就抛异常):
assertTrue(...) 参数的值应是true
assertFalse(...) 参数的值应是false
assertNull(...) 应是null值
assertNotNull(...) 应是非null的值
assertSame(...) 使用==比较的结果为true(表示同一个对象)
AssertNotSame(...) 使用==比较的结果为false
assertEquals(...) 两个对象equals()方法比较结果为true
用于准备环境、清理环境的方法
@Test
表示单元测试方法。
@Before
所修饰的方法应是非static的(且没有参数,返回值为void)。
表示这个方法会在本类中的每个单元测试方法之前都执行一次。
@After
所修饰的方法应是非static的(且没有参数,返回值为void)。
表示这个方法会在本类中的每个单元测试方法之后都执行一次。
@BeforeClass
所修饰的方法应是static的(且没有参数,返回值为void)。
表示这个方法会在本类中的所有单元测试方法之前执行,只执行一次。
@AfterClass
所修饰的方法应是static的(且没有参数,返回值为void)。
表示这个方法会在本类中的所有单元测试方法之后执行,只执行一次。
注意细节:如果点击方法名,类名,包名,工程名 运行JUnit分别测试的是对应的方法,类,包,工程中的所有test方法。
*/
public class Demo1 {
// @Before
@BeforeClass
public static void beforeTest(){
System.out.println("准备测试环境。。。");
}
@Test //注解
// public static void test1(int a, int b){ //× 4,单元测试方法不能有参数,也不能有返回值(返回void)!测试的方法不能是静态的方法。
public void test1(){
System.out.println("哈哈哈,测试junit。。。。");
// throw new RuntimeException();
}
@Test //注解
public void test2(){
System.out.println("成功了。。。");
// Assert.assertSame("abc", new String("abc")); //底层使用==比较的 false
Assert.assertEquals("abc", new String("abc")); //底层使用equals比较的 true
Assert.assertNull(null);
Assert.assertTrue(true);
}
//清理测试环境
// @After
@AfterClass
public static void afterTest(){
System.out.println("清理测试环境。。。");
}
}