学会使用JUnit来测试程序

利用JUnit测试程序是非常方便的,而不需要像以前用main方法来测试程序。

下面介绍一下如何使用JUnit来测试我们想要测试的程序代码:

示例代码:

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

具体做法如下:

1.另新建一个java文件TestDemo.java

	@Test
	public void test1(){
		Person p=new Person();
		p.run();
	}
注意:我们在test1()方法上加上了@Test 关键字!

然后在outline视图中找到TestDemo,TestDemo下列有它的所有的方法.

我们在outline视图选中test1()方法, 右键,选中 runas  ->JUnit Test  就可以对这个方法进行测试。这是在测试程序时经常使用的。


2.关键字@Before @After

	@Before
	public void before(){
		System.out.println("before");
	}
	
	@Test
	public void test1(){
		Person p=new Person();
		p.run();
	}
	@After
	public void after(){
		System.out.println("after");
	}

注意:我们一样测试方法test1(),但是测试结果却如下:

before

run

after

分析:当我们只测试test1()时,会自动调用before()和after()方法(方法名可以任意),这是因为他们分别被关键字@Before   @After  修饰。

被 @Before 修饰的方法会在test1()方法之前被调用,被@After修饰的方法会在test1()被执行后再执行。

这样当我们要测试的方法要使用的一些资源要提前加载时,就可以放在被@Before 修饰的方法中;释放资源放在被@After修饰的方法中。


3.关键字  @BeforeClass @AfterClass 

	@BeforeClass
	public static void beforeClass(){
		System.out.println("before class");
	}
	@Test
	public void test1(){
		Person p=new Person();
		p.run();
} @AfterClasspublic static void afterClass(){System.out.println("after class");}


同样我们只测试方法test1()时

结果:

before class

run

after class 

分析:当在加载这个测试类之前,会先执行被@BeforeClass 关键字修饰的方法,然后再执行test1(),最后执行被@AfterClass 关键字修饰的方法

4.分析@ Before  @BeforeClass  @After @AfterClass  的区别

示例代码:

	@BeforeClass
	public static void beforeClass(){
		System.out.println("before class");
	}
	
	
	@Before
	public void before(){
		System.out.println("before");
	}
	
	@Test
	public void test1(){
		Person p=new Person();
		p.run();
	}
	
	@Test
	public void test2(){
		Person p=new Person();
		p.eat();
	}
	
	@After
	public void after(){
		System.out.println("after");
	}
	
	@AfterClass
	public static void afterClass(){
		System.out.println("after class");
	}

在outline视图中选中TestDemo类,并右键t选中runas->JUnit Test 进行测试。


结果:

before class
before
run
after
before
eat
after
after class

当每次执行一次被@Test修饰的方法时,都会执行一次@Before    @After

被@After @Before修饰的方法只会在第一次类加载时才会执行一次


注意:被@After @Before修饰的方法只能是static方法








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值