码迷,mamicode.com
首页 > 其他好文 > 详细

junit4使用心得

时间:2016-10-05 21:49:21      阅读:307      评论:0      收藏:0      [点我收藏+]

标签:

没使用junit4之前,测试代码都是通过写一个main方法,在不断的new对象,调用方法来发现错误,使用junit4之后,我发现测试变得简单了,每写一个功能块就可以通过junit4来实现该功能。

那么接下来看如何使用junit4来测试方法中的代码,从而不需要写main方法,是不是非常方便。

在 JUnit4 中,测试是由 @Test 注释来识别的,以前所有版本的 JUnit 都使用命名约定和反射来定位测试,并且要继承TestCase类,使用JUnit4后,测试用例类可以不继承TestCase类,所以我们也就可以扩展被测试类了。

再次我只介绍@Test因为有它已经足够了~~~~~

1.首先我们随便创建一个简单的工程,例如

技术分享技术分享

2.鼠标放在工程名上右键,点击properties

技术分享

3.接着如下图

技术分享

4.点击next后选取junit版本,当然是junit4,然后点击完成finish即可,然后返回到当前界面点击OK添加junit4相关jar包完成

技术分享

 

现在可以开始使用junit4来进行测试了,这是工程下testj4.java类中的内容

package com;

import org.ietf.jgss.Oid;
import org.junit.Test;

public class testj4 {
	private int i;
	private int j;
	@Test
	public void equal() throws Exception{
		i=2;
		j=2;
		System.out.println(i==j);
	}
	@Test
	public void chufa() throws Exception{
		i=3;
		j=0;
		int z=i/j;
		System.out.println(z);
	}
}

  

鼠标放在类上右键如下,以junit test的形式来跑代码,这样就可以不需要main方法来完成了

技术分享

现在我们来测试看,运行结果如下,testj4.java中第二个chufa()方法存在数学运算异常,junit4发现了出现异常所在,和控制台抛异常的方法一样

技术分享

现在我们修改为正常代码再来看看技术分享

 

这里我只是用一个非常简单的方法来进行测试,好处在于做项目的时候,你有很多功能模块,比如说dao层连接数据库,如果有多个功能,那么用junit4好处就自然而然啦。

废话不多说上图,我利用了hibernate框架来操作数据库的存储,使用纯代码(加载驱动,建立连接,sql语句,编译sql,关闭连接)来操作数据库在此我就不赘述

 

工程图

技术分享

数据库的t_user表

技术分享

StartUp.java的代码

package com.lovo.bean;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.Test;

public class StartUp {

    private static SessionFactory factory;
    static {
        Configuration cfg = new Configuration();
        // 读取指定的配置文件
        cfg.configure("hibernate.cfg.xml");
        factory = cfg.buildSessionFactory();
    }

    @Test
    public void insert()throws Exception {
        UserBean user = new UserBean();
        user.setUsername("boom");
        user.setPassword("admin");
        user.setType(1);
        user.setLevel(1);
        user.setName("福尔康");
        user.setIdCard("1111111122222");
        user.setPhone("18888888888");
        user.setAddress("鸿星尔克");

        Session session = factory.openSession();
        // 开始事务
        Transaction ts = session.beginTransaction();
        session.save(user);
        // 提交事务
        ts.commit();
        // 关闭Session,释放资源这里并不是真正的关闭
        session.close();

    }
    
    @Test
    public void get()throws Exception {
        Session session=factory.openSession();
        Transaction ts=session.beginTransaction();
        UserBean user=(UserBean) session.get(UserBean.class,1);
        System.out.println(user.toString());
        ts.commit();
        session.close();
        
    }
}

 

开测!!!!

技术分享

 

修改查id为29的

技术分享

成功!!!!!!!!!

 

方便吧,不用从三层架构一层一层的测,可以降低出错率~junit4的一点学习就到这里,不深入讨论其底层是怎么做的.

 

junit4使用心得

标签:

原文地址:http://www.cnblogs.com/wcq1993/p/5932695.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!