JUnit 3一个例子就懂
JUnit is a simple framework to write repeatable tests. It is an instance of the xUnit architecture for unit testing frameworks.
?
?JUnit是一個回歸測試框架,用于編寫和運行可重復的測試。它有以下特性:
1、用于測試期望結果的斷言(Assertion)。 2、用于共享共同測試數據的測試工具。 3、用戶方便的組織和運行測試的測試套件。 4、圖形和文本的測試運行器。
?
?本篇博客通過一個簡單的實例來展示JUnit3用于測試期望結果的斷言這一特性,一個例子足以。
1、建立一個Java Program,引入JUnit的jar包,新建一個名為test的Source Folder,把那些測試類都放在這個文件夾下。
2、新建一個Package,將測試類和需要測試的目標類全部放在一個包里,需要給測試用類已Test為開頭或結尾來命名,以區分和聯系目標類。
? ?3、展示例子:
(1)首先建立一個簡單到不能再簡單的目標類。命名為UserManager.class.
?
2 3 import javax.management.RuntimeErrorException; 4 5 public class UserManager { 6 /** 7 * 一個簡單的虛擬用戶添加方法 8 * @author 巨亞紅 9 * @date 2014-4-14 下午3:58:51 10 * @版本 V1.0 作者: 時間: 修改: 11 * @param userName 12 */ 13 public void addUser(String userName){ 14 15 System.out.println("userManger.addUser"); 16 //throw new RuntimeException(); 17 } 18 /** 19 * 一個簡單的虛擬用戶刪除方法 20 * @author 巨亞紅 21 * @date 2014-4-14 下午3:59:23 22 * @版本 V1.0 作者: 時間: 修改: 23 * @param userName 24 */ 25 public void deleteUser(String userName){ 26 27 System.out.println("userManger.deleteUser"); 28 } 29 /** 30 * 一個簡單的虛擬根據用戶ID查找用戶的方法 31 * @author 巨亞紅 32 * @date 2014-4-14 下午3:59:43 33 * @版本 V1.0 作者: 時間: 修改: 34 * @param userId 35 * @return 36 */ 37 public String findUserById(String userId){ 38 return "Jessica"; 39 } 40 }?
?
?
(2)添加或編寫測試類。如果使用My Eclipse,可以直接在目標類右擊---添加----JUnit Test Case,然后就會彈出相應的頁面,可以選擇New JUnit3 test 也可以選擇New JUnit 4 test。我們本博客講JUnit3,所以選3。編寫UserManagerTest.java測試類如下,重要的是先要繼承TestCase.java類
2 3 4 import junit.framework.TestCase; 5 6 //繼承TestCase類很重要 7 public class UserManagerTest extends TestCase { 8 /** 9 * 測試addUser方法 10 * @author 巨亞紅 11 * @date 2014-4-14 下午4:07:28 12 * @版本 V1.0 作者: 時間: 修改: 13 */ 14 public void testAddUser(){ 15 UserManager userManager=new UserManager(); 16 userManager.addUser("Jessica"); 17 System.out.println("UserManagerTest.testAddUser"); 18 19 } 20 /** 21 * 測試deleteUser方法 22 * @author 巨亞紅 23 * @date 2014-4-14 下午4:07:46 24 * @版本 V1.0 作者: 時間: 修改: 25 */ 26 public void testDeleteUser(){ 27 UserManager userManager=new UserManager(); 28 userManager.deleteUser("Jessica"); 29 System.out.println("UserManagerTest.testDeleteUser"); 30 31 } 32 /** 33 * 測試findUserById方法 34 * @author 巨亞紅 35 * @date 2014-4-14 下午4:07:59 36 * @版本 V1.0 作者: 時間: 修改: 37 */ 38 public void testFindUserById(){ 39 UserManager userManager=new UserManager(); 40 String userName=userManager.findUserById("000"); 41 42 System.out.println("UserManagerTest.testFindUser----userName="+userName); 43 //定義你的期望值 44 String excepted="Jessica"; 45 //如果期望值為Juyahong,JUnit就會提示報錯。 46 //String excepted="Juyahong"; 47 this.assertEquals(excepted, userName); 48 49 } 50 }?
?
?
通過this.assertEquals(expected, actual)來測試預期結果與實際結果是否匹配,如果匹配,JUnit就會顯示綠色,如果不一樣就提示紅色。
正確:
?
錯誤:
當然現在已有JUnit4,它與JUnit3的區別有以下幾點:
?? ?1. JUnit4利用了?Java 5?的新特性"注釋",每個測試方法都不需要以testXXX的方式命名,運行時不在用反射機制來查找并測試方法,取而帶之是用@Test來標注每個測試方法,效率提升
????2. JUnit4中測試類不必繼承TestCase了,另外要注意JUnit4和JUnit3引入的包完全不同。
????????????PS:在Eclipse中要使用Junit的話,必須要添加Junit的library。
????3.JUnit4和JUnit3在測試Suite時也有很大不同,即在測試套件時它們有區別,JUnit4在測試套件時,必須構造一個空類,而且使用Annotation的形式,即
@RunWith(Suite.class)
@Suite.SuiteClasses({ShoppingCartTest.class,ProductTest.class}),而JUuni3則是普通的直接用函數調用,添加Suite。
下篇博客將詳細講述JUnit4的詳細使用,看看它的進步之處在哪里。
總結
以上是生活随笔為你收集整理的JUnit 3一个例子就懂的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 窗口和元素的大小:offset clie
- 下一篇: Python快速学习07:文本文件的操作