JUnit单元测试举例(@Test,@Before,@After,@beforeClass,@afterClass,assertEquals,assertTrue等)

需要测试的类Person:

package cn.edu.lstc.junit;

public class Person {
	
	public void run() {
		System.out.println("run...");
	}

	public void eat() {
		System.out.println("eat...");
	}

	public String a() {
		return "1";
	}
}

@Test,@Before,@After

package cn.edu.lstc.junit;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
//before比beforeclass更常用
public class PersonTest {
	private Person p;//成员域
	
	//以前在main里面测试,测试一个要注释一个 麻烦,
	//现在你想测试那个就在那个的方法上右击测试就ok
	
	@Before
	public void before(){
		System.out.println("before");
		p = new Person();//测试方法之前自动执行(每執行一個方法都要執行一次,因為不是static),可以放初始化代码片段
	}
	
	@Test
	public void testRun() {
		p.run();
	}

	@Test
	public void testEat() {
		p.eat();
	}
	
	@After
	public void after(){
		System.out.println("after");
		p = null;
	}
}
//:out
/*
	before
	eat...
	after
	before
	run...
	after
*/

@Test,@beforeClass,@afterClass

package cn.edu.lstc.junit;

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

public class Person2Test {

	private static Person p;//成员域
	
	@BeforeClass
	public static void beforeClass(){//需要是static
		System.out.println("beforeclass");
		p = new Person();//测试方法之前自动执行(整个过程只执行一次因為是static),可以放初始化代码片段	
	}
	@Test
	public void testRun() {
//		Person p = new Person();//这代码可以注释掉了因为前面定义了一个全局的p对象,在测试方法时会自动执行
		p.run();
	}
	@Test
	public void testEat(){
//		Person p = new Person();//同上
		p.eat();
	}
	@AfterClass
	public static void afterClass(){
		System.out.println("afterclass");
		p = null;//使其不再指向對象
	}
}
//out:
/*
	beforeclass
	eat...
	run...
	afterclass
*/
assertEquals,assertTrue...

package cn.edu.lstc.junit;

import org.junit.Assert;
import org.junit.Test;

public class Demo {
	@Test
	public void testA(){
		Person p = new Person();
		//斷言
//		Assert.assertEquals("1",p.a());//通过测试,期望返回1,结果也返回了1
		Assert.assertArrayEquals(new int[]{1,1}, new int[]{1,1});//測試通過
//		Assert.assertArrayEquals(new int[]{1,1}, new int[]{1,2});//測試失敗
		
		
//		Assert.assertTrue(false);//測試失敗,
		Assert.assertFalse(false);//測試成功
	}

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

绝地反击T

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值