JUnit概述及一個簡單例子
JUnit概述及一個簡單例子
原文地址:https://blog.csdn.net/zen99t/article/details/50561136 有1-4部分,這裡只引用了一部分
1.概述
1.1 什麼是JUnit
①JUnit是用於編寫可複用測試集的簡單框架,是xUnit的一個子集。xUnit是一套基於測試驅動開發的測試框架,有PythonUnit、CppUnit、JUnit等。
②Junit測試是程式設計師測試,即所謂白盒測試,因為程式設計師知道被測試的軟體如何(How)完成功能和完成什麼樣(What)的功能。
③多數Java的開發環境都已經整合了JUnit作為單元測試的工具,比如Eclipse。
1.2 為什麼要使用測試工具
①測試框架可以幫助我們對編寫的程式進行有目的地測試,幫助我們最大限度地避免程式碼中的bug,以保證系統的正確性和穩定性。
②很多人對自己寫的程式碼,測試時就簡單寫main,然後sysout輸出控制檯觀察結果。這樣非常枯燥繁瑣,不規範。缺點:測試方法不能一起執行,測試結果要程式猿自己觀察才可以判斷程式邏輯是否正確。
③JUnit的斷言機制,可以直接將我們的預期結果和程式執行的結果進行一個比對,確保對結果的可預知性。
1.3 相關連結
JUnit官網:http://junit.org/
JUnit的jar包下載:https://github.com/junit-team/junit/wiki/Download-and-Install
2.簡單例子快速入門
2.1 建立簡單業務類
使用Eclipse建立一個專案,匯入JUnit相關包,因為eclipse整合了JUnit框架,所以可以直接右鍵專案,選擇Build Path → 點選Add Libraries → 選擇JUnit → 點選Next,選擇JUnit版本,然後Finish。(其實也可以下載jar包作為使用者庫來新增)
編寫一個簡單的計算類:Calcuate類
package jtzen9.util;
/**
* 實現加減乘除的簡單計算類
* @author Zen9
*
*/
public class Calcuate {
public int add(int a,int b){
return a+b;
}
public int subtract(int a,int b){
return a-b;
}
public int multiply(int a,int b){
return a*b;
}
public int divide(int a,int b){
return a/b;
}
}
2.2 建立測試類
①右鍵Calcuate類,new 一個 JUnit Test Case:
②彈出的對話方塊,暫時不做修改,直接點選next:(這樣建立的測試類會在同一個包下,暫時不管測試類和業務類的隔離)
③勾選要測試的方法,點選Finish:
2.3 修改生成的測試類程式碼
上面步驟生成的測試類只包含測試方法的模板,並沒有具體的測試細節,修改成如下:(其中有比較多的重複程式碼,暫時不管;並將減法的測試設為有問題)
package jtzen9.util;
import org.junit.Assert;
import org.junit.Test;
public class CalcuateTest {
Calcuate calcuate;
@Test
public void testAdd() {
calcuate = new Calcuate();
int result = calcuate.add(2, 3);
Assert.assertEquals("加法有問題", 5, result);
/*
* "加法有問題":期望值和實際值不一致時,顯示的資訊
* 5 :期望值
* result :實際值
*/
}
@Test
public void testSubtract() {
calcuate = new Calcuate();
int result = calcuate.subtract(12, 2);
Assert.assertEquals("減法有問題", 10000, result); //故意設定減法期望值為10000
}
@Test
public void testMultiply() {
calcuate = new Calcuate();
int result = calcuate.multiply(2, 3);
Assert.assertEquals("乘法有問題", 6, result);
}
@Test
public void testDivide() {
calcuate = new Calcuate();
int result = calcuate.divide(6, 3);
Assert.assertEquals("除法有問題", 2, result);
}
}
2.4 執行結果
右鍵測試類,選擇Run As , JUnit Test,結果如下:
總共有4個測試方法,執行了4個方法;其中failures有1個,即有一個方法的輸出結果跟我們的預期不一樣。
相關文章
- 一個簡單的「IOC」例子
- 擼一個簡單的MVVM例子MVVM
- 一個最簡單的 Github workflow 例子Github
- 一個簡單的netty通訊的例子Netty
- WebRTC:一個視訊聊天的簡單例子Web單例
- 一個簡單的例子瞭解async跟defer
- 一個簡單的例子教會您使用javapJava
- 一個簡單的生活例子,感受TRIZ的魅力!
- Unity如何連線伺服器: 一個簡單的例子Unity伺服器
- python+flask 編寫一個簡單的登入介面例子PythonFlask
- python+flask編寫一個簡單的登入介面例子PythonFlask
- SAP MM採購定價過程的一個簡單例子單例
- spring 簡單的使用 Hikari連線池 和 jdbc連線mysql 的一個簡單例子SpringJDBCMySql單例
- Laravel 關聯查詢 ——一對一 簡單例子Laravel單例
- SAP人工智慧服務Recast.AI的一個簡單例子人工智慧ASTAI單例
- 一個簡單的例子理解Kubernetes的三種IP地址型別型別
- 一個簡單例子教會你C++動態庫的用法單例C++
- 通過一個簡單的例子,瞭解 Cypress 的執行原理
- Matplotlib1.簡單例子單例
- go語言如何入門?從一個簡單例子開始學起Go單例
- 簡單的整合 shiro + SpringMVC 例子SpringMVC
- Laravel 5 關聯查詢 ——一對 N 簡單例子Laravel單例
- expdp一個例子
- 轉一篇OpenSSL的例子:簡單的TLS伺服器TLS伺服器
- 一個簡單template engine
- 簡單寫一個eventbus
- 簡單弄一個-個人主頁
- Python簡單實現多執行緒例子Python執行緒
- 一個簡簡單單的紅點系統框架框架
- WebGL簡易教程(一):第一個簡單示例Web
- 一個例子看懂call,applyAPP
- 一個簡單多庫配置
- 一個簡單的 PWA 指南
- 一個簡單的Tessellation Shader
- 郵箱 郵政編碼 等幾個簡單的 正則 表示式的幾個例子?
- Spring Boot 中使用Caffeine快取的簡單例子Spring Boot快取單例
- Rust 程式設計中使用 leveldb 的簡單例子Rust程式設計單例
- 多執行緒賣火車票簡單例子執行緒單例