您的位置:首页 > 产品设计 > UI/UE

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

2015-04-04 08:37 417 查看
需要测试的类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);//測試成功
	}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐