junit测试框架简单应用

在实际开发中,写好的代码都要经过测试。一般我们都是自己写一个main方法来调用一下测试,但最近发现用junit测试框架做起来更方便。具体请看下面的代码:

public class Person {
	private String name;
	private int age;

	public Person() {
		this.name = "jack";
		this.age = 20;
	}

	public Person(String name, int age) {
		this.name = name;
		this.age = age;
	}

	public void Run() {
		System.out.println(name + ": is running");
	}

	public void eat() {
		System.out.println(name + ": is eatting");
	}

}

  上面就是一个普通的类,这个就是我们用来作为测试对象的类。为了清楚,我们再写一个Main类,用来调用测试,如下:

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

public class Main {
	Person p = null;

	@Before
	public void before() {
		System.out.println("before...初始化");
		p = new Person();
	}

	@Test
	public void testRun() {
		p.Run();
	}

	@Test
	public void testEat() {
		p.eat();
	}

	@After
	public void after() {
		System.out.println("after...释放资源");
		p = null;
	}

}

 在需要测试的方法前打个"@Test"标记,然后打开大纲视图在相应的方法上右键选择Run as -- Junit Test.如下图所示:

如果方法没有错误Junit框架会显示绿条,否则会显示红条。

  还有一点:在上面的代码中我们用到了@before,@after。其实还有一对类似的@beforeClass,@afterClass。区别是:前一对会在每个测试方法执行前后都会执行,后者只在类加载前和类销毁前执行。执行结果对比:

@before,@after

@beforeClass,@afterClass

有一点需要注意用@beforeClass,@afterClass时,需要上面的代码要作一些调整,具体如下:

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

public class Main {
	 static Person p = null;

	@BeforeClass
	public static void before() {
		System.out.println("before...初始化");
		p = new Person();
	}

	@Test
	public void testRun() {
		p.Run();
	}

	@Test
	public void testEat() {
		p.eat();
	}

	@AfterClass
	public static void after() {
		System.out.println("after...释放资源");
		p = null;
	}

}

  

posted @ 2013-03-19 12:49  g.hui  阅读(324)  评论(0编辑  收藏  举报