junit4使用心得


沒使用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的一點學習就到這里,不深入討論其底層是怎么做的.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM