JUnit是一个java语言的单元测试框架。
一、简易JUnit测试方法
直接在方法前面加上标示 @Test ,对方法右键选择run as->JUnit Test 即可(在eclipse开发环境中)。
注意的是:测试成功后记得删除掉@Test注解,被测试的方法不能是static修饰的,不能带有形参。
二、正式JUnit测试方法
新建一个测试程序 JUnit Test Case,在其Class under test当中选择需要测试的类就可以了。
例如,我们编写一个需要测试的程序:
package com.junit;
/**
* Description:
* 需要测试的类
*
* @author lee
* */
public class JunitDemo {
/**
* Description:
* 需要被测试的方法
*
* @param a 被加数
* @param b 加数
*
* @return a+b a和b的相加结果
* */
public int sum(int a,int b){
return a+b;
}
}
编写相应的测试程序(命名规范为:被测试类的名字+Test,test+被测试方法的名字。):
package com.junit;
import static org.junit.Assert.*;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
/**
* Description:
* 测试类
*
* @author lee
* */
public class JunitDemoTest {
/**
* Description:
* 测试JunitDemo类的sum方法
*
* */
@Test
public void testSum() {
//让测试方法自动判断是否符合预期结果
//1、判断字符串可以使用 Assert.assertEqual();
//2、判断是否为null可以使用Assert.assertNull();
//3、判断是否为真可以使用Assert.asserTure();
//Assert.assertSame(int expect,int actuall)底层是用==实现的。
Assert.assertSame(2,new JunitDemo().sum(1, 1));
System.out.println("正在测试sum方法...");
}
//BeforeClass
@Before
public void before(){
System.out.println("正在准备测试环境...");
}
//BeforeClass
@After
public void after(){
System.out.println("正在清理测试环境...");
}
}
如果测试一个方法时候需要准备测试环境的方法和清除测试环境的方法。在两个方法之前,加上相应的@Before和@After注解,当测试方法的时候,会自动调用两个方法。就可以避免在业务逻辑当加上两个方法了。@Before、@After在每一个被测试的方法测试时都会被调用一次。
当同时测试几个方法的时候,只需要调用一次准备环境和清除测试环境的方法的时候。只要将标示改成相应@BeforeClass(必须是静态的方法)和@AfterClass(必须是静态的方法)就可以了。