JUnit4.x快速入门

作为程序员,如果我们要测试一个方法时,我们一般直接在类中使用main方法进行测试。当然大家觉得很爽,但这只限于对小程序而言。

对于大的项目,要保证项目的健壮性,我们一般建议使用单元测试。单元测试有很多工具,这里我们使用的是JUnit4.x。

下面我们就以一个小例子来让大家快速的入门(我这里说的只是入门级的知识,某些大神可以直接略过!!):

1、我们所需要的资源包有:

对于这些包,大家可以直接在谷歌中搜索下载。

2、在创建包时,我们是将功能类和测试类分开的,如下:

我们可以看见我们的功能类都在com.cz.junit包下,而我们的测试类都在com.cz.junit.test包中。

对于如何创建Junit测试类我就不多说了,大家可以直接百度!

一般要求是:测试类的类名就是在功能类的后面+Test

3、FirstJunit.java类:

public class FirstJunit {
	/**
	 * 这里我们实现两个简单的功能:实现两个数的相加与两个数的相除
	 */
	//add
	public int add(int a,int b){
		return a+b;
	}
	
	//divide
	public int divide(int a,int b){
		return a/b;
	}
}
测试类:FirstJunitTest.java

import static org.junit.Assert.*;
import static org.hamcrest.Matchers.*;
import org.junit.Test;
import org.junit.Before;
import org.junit.After;
import org.junit.BeforeClass;
import org.junit.AfterClass;
import com.cz.junit.*;

public class FirstJunitTest {
	@BeforeClass
	public static void beforeClass(){
		System.out.println("beforeClass");
	}
	
	@AfterClass
	public static void afterClass(){
		System.out.println("afterClass");
	}
	
	@Test
	public void testAdd() {
		int s = new FirstJunit().add(4, 4);
		
		assertEquals(8,s);
		assertThat(s,is(8));
		
		assertThat(s,greaterThan(5));
		assertThat(s,lessThan(10));
	}
	
	@Test(expected=java.lang.ArithmeticException.class,timeout=100)
	public void testDivide(){
		int z = new FirstJunit().divide(8, 0);
	}
	
	@Before
	public void before(){
		System.out.println("before");
	}
	
	@After
	public void after(){
		System.out.println("after");
	}	
}
1. @Test: 测试方法
a) (expected=XXException.class)
b) (timeout=xxx)
2. @Ignore: 被忽略的测试方法
3. @Before: 每一个测试方法之前运行
4. @After: 每一个测试方法之后运行
5. @BeforeClass: 所有测试开始之前运行
6. @AfterClass: 所有测试结束之后运行

@Ignore的测试,大家可以直接在方法前面加上即可!对于timeout则是用于观察耗时的,该时间单位是毫秒!!

上面的例子,执行结果为:

4、在一开始我们导入的包中,有hamcrest-core-1.3.jar和hamcrest-library-1.3.jar。

assertThat(s,is(8))的意思就是:判断s是不是8。这种表示方法更适合人的思维方式,因此我建议大家使用这种方式。


总结:以上就是JUnit4简单的入门,希望对大家有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值