【drp 11】使用Junit简单测试接口方法

  • Post author:
  • Post category:其他


一、Junit简介

JUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个。 JUnit有它自己的JUnit扩展生态圈。多数Java的开发环境都已经集成了JUnit作为单元测试的工具。

JUnit是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing framework)。Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。

二、使用过程

2.1,首先,下载JUnit的jar包,引入到项目中

project——properties——java build path——libraries——add external jars或者说就直接将jar包拷到jar文件库中!

2.2,建立一个测试文件夹,存放测试类

备注;就跟.NET中,建立一个类库一样,不建也可以,但是建立一个专门的测试文件夹,这样结构上比较明确。

2.3,编写测试类(继承TestCase),执行测试方法。

例如,想要测试UserManager类里面的方法:

UserManager类(被测试的类):

<span style="font-family:KaiTi_GB2312;font-size:18px;">package com.angel.hibernate;

public class UserManager {

	public void add(String username){
		System.out.println("UserManager.add()"+username);
	}
	
	public void del(String username){
		System.out.println("UserManager.del()"+username);
	}
	
	public String findUserById(String userId){
		return "Tom";
	}
}
</span>

UserMangerTest类(测试类):

直接在测试文件夹的测试包下面,新建一个类,这个类继承TestCase类:

<span style="font-family:KaiTi_GB2312;font-size:18px;">package com.angel.hibernate;

import junit.framework.Assert;
import junit.framework.TestCase;

public class UserManagerTest extends TestCase {

	public void testAdd(){
		UserManager userManager=new UserManager();
		userManager.add("Jack");
		System.out.println("UserManagerTest.testAdd()");
	}
	
	public void testDel(){
		UserManager userManager=new UserManager();
		userManager.del("Andy");
		System.out.println("UserManagerTest.testDel()");
	}
	
	public void testFindUserById(){
		UserManager userManager=new UserManager();
		String username=userManager.findUserById("0001");
		System.out.println(username);
		String expected="Tom";
		Assert.assertEquals(expected, username);
	}
}</span>


使用断言,判断实际值和期待值,其测试结果:


三、总结

测试的重要性,不用多说。但是,测试的习惯,对于我个人来说,还需要进一步的加强。JUnit测试,比之前做的.NET的单元测试,感觉要简单很多。所以,从今天起,养成测试代码的好习惯,虽然可能会增加一些负担或者压力,但我相信,做好测试,带来的效果一定是有益的!



版权声明:本文为hhx0626原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。