Junit单元测试

        JUnit 是一个 Java 编程语言的单元测试框架。

        在计算机编程中,单元测试(英语:Unit Testing)又称为模块测试, 是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。 程序单元是应用的最小可测试部件。简单来说,就是测试数据的稳定性是否达到程序的预期。

分为黑盒测试(功能测试,不需要写代码,输入测试用例看是否输出正确结果)和白盒测试(结构测试,需要写代码的,换主程序的具体执行流程)。而Junit单元测试就是白盒测试的一种。

一、Junit使用

步骤:

1.定义一个测试类:

类名一般为被测试类的类名加Test。

包名一般为xxx.xxx.test

2.定义测试方法:是可以独立运行的:

方法名一般为test加预测试的方法名。

返回值一般为void

参数列表一般空。

3.导入Junit依赖环境:

import org.junit.Test

4.给方法加@Test

errors:0 即代表成功运行。

判定:

那么要怎么样判定结果是否是正确的呢?这就需要设定断言。

如果result和断言的结果不一样,则测试到失败,显示红色。

//计算器类
package firstTest;

public class Calculator {
	public int add (int a, int b) {
		return a + b;
	}
	public int sub (int a, int b) {
		return a - b;
	}

}

//计算器类的测试类
package firstTest;

import org.junit.Test;

//import junit.framework.Assert;
import org.junit.Assert;

public class CalculatorTest {
	@Test
	public void testAdd() {
		Calculator c =new Calculator();
		int result = c.add(1, 2);
		//System.out.println(result);
		//断言:预先断言这个结果是3
		Assert.assertEquals(3,result);
		
		
	}
}

 申请资源和释放资源:

在Junit单元测试中,有一个@Before注解,是用作资源的申请。也就是被@Before注解修饰的的方法会在每次测试之前自动执行。所以,我们可以去定义一个init方法,去初始化这个创建对象的过程。

同时,还有一个@After注解,是用作资源的关闭。有些应用场景,比如IO流的读写操作。如果我们要测试此代码,是需要一个关闭流的过程,通过我们关闭流使用finally块来保证最后流的关闭操作。也就是说被@After注解修饰的方法会在测试方法之后自动执行。所以,我们在特定需要保证最后关闭、销毁资源的时候,可以去定义一个close方法,去关闭或销毁资源。

tips:别忘了引入import org.junit.Before;        import org.junit.After;

package firstTest;

import org.junit.Test;
import org.junit.After;
//import junit.framework.Assert;
import org.junit.Assert;
import org.junit.Before;

public class CalculatorTest {
	@Before
	public void init(){
	    System.out.println("init...");
	}
	@Test
	public void testAdd() {
		Calculator c = new Calculator();
		int result = c.add(1, 2);
		//System.out.println(result);
		//断言:预先断言这个结果是3
		Assert.assertEquals(3,result);	
	}
	@Test
	public void testSub() {
		Calculator b = new Calculator();
		int result = b.sub(1, 2);
		System.out.println(result);
		Assert.assertEquals(-1, result);
	}
	@After
	public void close() {
		System.out.println("close...");
	}
}

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值