最近公司来了一个新手,刚毕业的。在开发进行单元测试时发现了很多问题,那现在我就来梳理一下,这些问题。

对一个方法或者一个类进行测试我大致分为三种:

      1.利用main方法进行测试,对一个方法或者一个类进行测试。这个当然很简单,new一下,调用一下方法就可以,我就不做阐述了。

       2.如果我们用单元测试类来测试一个不依赖web或者任何容器的比如像spring这样的容器,我们一般这么做:

新建一个单元测试类。


然后你就可以写你的测试代码了。

package test.cn.bean;

import static org.junit.Assert.*;

import org.junit.Test;

public class testclass {

	@Test
	public void test() {
		user u=new user();
		u.add();
	}

}

如果你的这个类的测试方法很多,你就没必要每次都去new一个类对象了。你可以选择重写setUpBerforeClass()把new的代码放在这里面,前提是你在这个测试类中定义一个属性。来提供给类方法。这样你就可以直接用了不需要每一次都去new一个对象出来。

          3.带有web容器的单元测试。

           首先大家应该知道基于容器的框架都是要启动框架才能得到实例和一些数据信息,比方sessionfactory。那我们单元测试怎么办呢,其实很简单,我们只要手动的开启web容器就可以了。


       勾选之后就会有这个方法,我们在这里面就可以进行容器实例化了。

//实例化容器,beans.xml是spring的配置文件
ApplicationContext appContext = new ClassPathXmlApplicationContext(“beans.xml”);
//获取测试类的接口类型,userdao为接口类型的类属性.userDaoImpl是接口类型的实现类
userdao=(UserDao)appContext.getBean("userDaoImpl");
这样我们在测试的时候就再也不会出现nullpointException了。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐