Junit4.4的第一个例子

本文介绍了一个计算器类的单元测试案例,使用JUnit 4.4版本进行测试。案例覆盖了加、减、乘、除四种运算,并展示了@BeforeClass、@AfterClass、@Before、@After等注解的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前些阶段也学习过junit,但一直无法正确运用在具体项目当中,现在开始索性拿起来,从0开始学习。

junit使用到的是4.4版本。(目前最新是4.6)。

以下是实例代码:

//Calculator.java 计算加减乘除
package com.test.junit4;

public class Calculator {
	public int add(int a, int b){
		return a + b;
	}
	
	public int minus(int a, int b){
		return a - b;
	}
	
	public int multiply(int a, int b){
		return a * b;
	}
	
	public int divide(int a, int b)throws Exception{
		if(0 == b){
			throw new Exception("除数不能为零!");
		}
		
		return a / b;
	}
}

 

 

测试代码:

//CalculatorTest.java 测试代码

/*
*由于JDK5.0 注释的加入,在junit4.4当中加入了注释,来简化、实现之前版本的一些功能
*/
package com.test.junit4;

import static org.junit.Assert.assertEquals;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

public class CalculatorTest {

	private Calculator cal;
	
	@BeforeClass 
	public static void globalInit(){
		System.out.println("globalInit");
	}
	
	@AfterClass 
	public static void globalDestroy(){
		System.out.println("globalDestroy");
	}
	
	@Before
	public void init(){
		cal = new Calculator();
		System.out.println("init invoked");
	}
	
	@After
	public void destroy(){
		System.out.println("destroy invoked");
	}
	
	@Test
	public void testAdd(){
		
		int result = cal.add(1, 2);
		
		assertEquals(3 ,result);
	}
	
	@Test
	public void testMinus(){
		
		int result = cal.minus(1, 2);
		
		assertEquals(-1, result);
	}
	
	@Test
	public void testMultiply(){
		
		int result = cal.multiply(2, 3);
		
		assertEquals(6, result);
	}
	
	@Test
	public void testDivide(){
		try{
		int result = cal.divide(6, 5);
		assertEquals(1, result);
		}
		catch(Exception e){
			e.printStackTrace();
		}
	}
	//期望测试方法中能够抛出Exception异常
	@Test(expected = Exception.class)
	public void testDivide2() throws Exception{
		
		cal.divide(6, 0);
	}
	//期望测试方法运行时间在100毫秒以内,此方法中使用Thread.sleep(110)来故意延迟线程操作时间
	@Test(timeout = 100)
	public void testDivide3(){
		try{
		cal.divide(4, 2);
		Thread.sleep(110);
		}catch(Exception e){
			e.printStackTrace();
		}
	}
}
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值