Junit入门

在慕课网上学习了Junit的使用,觉得很不错,做一下笔记。


一、介绍

Junit是一个Java的单元测试框架。可以再开发项目是进行测试,节省了后期维护的时间和成本。


二、使用前

要使用Junit,需要下载两个jar包,

- junit.jar

- hamcrest-core.jar

由于官网上的下载地址无法下载,请同学们自行找资源啦。

三、测试

工具:eclipse

1、创建工程,导入jar包,一步到位!

目录结构:


2、创建一个Source Folder,命名为test,用来进行测试代码。注意test和src下的包名一致。然后测试类名为“类名”+Test,测试方法名为test+“方法名”。

public class Calculator {
	
	public int add(int i,int j){
		return i+j;
	}
	
}
public class CalculatorTest {

	@Test
	public void testAdd() {
		assertEquals(2, new Calculator().add(1, 1));
	}
方法是断言两个值相等,相等则运行正确,不相等则出错。


3、注意测试方法的名字都是public void 方法名(),没有参数。

运行结果:

表示testAdd方法运行得到我们预期的结果。即 2=add(1+1)。


4、注解方法介绍。

public class AnotationTest {

	/*
	 * @Test:将一个普通的方法修饰成为一个测试方法
	 * 		@Test(expected=XX.class)
	 * 		@Test(timeout=毫秒 )
	 * @BeforeClass:它会在所有的方法运行前被执行,static修饰
	 * @AfterClass:它会在所有的方法运行结束后被执行,static修饰
	 * @Before:会在每一个测试方法被运行前执行一次
	 * @After:会在每一个测试方法运行后被执行一次
	 * @Ignore:所修饰的测试方法会被测试运行器忽略
	 * @RunWith:可以更改测试运行器 org.junit.runner.Runner
	 */
	
	@Test(expected=ArithmeticException.class)
	public void testDivide() {
		assertEquals(3, new Calculate().divide(6, 0));
	}
	
	@Ignore("...")
	@Test(timeout=2000)
	public void testWhile() {
		while(true) {
			System.out.println("run forever...");
		}
	}
	
	@Test(timeout=3000)
	public void testReadFile(){
		try {
			Thread.sleep(2000);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}



5、我们还可以使用Suite套件来测试多个类。

@RunWith(Suite.class)
@Suite.SuiteClasses({})
public class SuiteTest {

	/*
	 * 测试套件,可一次测试多个类,加入SuiteClasses({})中。
	 */

}

6、可以使用Parameterized测试多组数据

@RunWith(Parameterized.class)
public class ParameterTest {
	/*
	 * 1.更改默认的测试运行器为RunWith(Parameterized.class)
	 * 2.声明变量来存放预期值 和结果值
	 * 3.声明一个返回值 为Collection的公共静态方法,并使用@Parameters进行修饰
	 * 4.为测试类声明一个带有参数的公共构造函数,并在其中为之声明变量赋值
	 */
	int expected =0;
	int input1 = 0;
	int input2 = 0;
	
	@Parameters
	public static Collection<Object[]> t() {
		return Arrays.asList(new Object[][]{
				{3,1,2},
				{4,2,2}
		}) ;
	}
	
	public ParameterTest(int expected,int input1,int input2) {
		this.expected = expected;
		this.input1 = input1;
		this.input2 = input2;
	}
	
	@Test
	public void testAdd() {
		assertEquals(expected, new Calculate().add(input1, input2));
	}

}

get到了一个实用工具,加油。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值