欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java編程之單元測試(Junit)實例分析(附實例源碼)

 更新時間:2015年11月17日 12:06:41   作者:stevenhu_223  
這篇文章主要介紹了java編程之單元測試(Junit),結合實例形式較為詳細的分析總結了Java單元測試的原理、步驟及相關注意事項,并附帶了完整代碼供讀者下載參考,需要的朋友可以參考下

本文實例講述了java編程之單元測試。分享給大家供大家參考,具體如下:

完整實例代碼代碼點擊此處本站下載。

在有些時候,我們需要對我們自己編寫的代碼進行單元測試(好處是,減少后期維護的精力和費用),這是一些最基本的模塊測試。當然,在進行單元測試的同時也必然得清楚我們測試的代碼的內部邏輯實現,這樣在測試的時候才能清楚地將我們希望代碼邏輯實現得到的結果和測試實際得到的結果進行驗證對比。

廢話少說,上代碼:

首先創(chuàng)建一個java工程,在工程中創(chuàng)建一個被單元測試的Student數據類,如下:

package com.phicomme.hu; 
public class Student 
{ 
 private String name; 
 private String sex; 
 private int high; 
 private int age; 
 private String school; 
 public Student(String name, String sex ,int high, int age, String school) 
 { 
  this.name = name; 
  this.sex = sex; 
  this.high = high; 
  this.age = age; 
  this.school = school; 
 } 
 public String getName() 
 { 
  return name; 
 } 
 public void setName(String name) 
 { 
  this.name = name; 
 } 
 public String getSex() 
 { 
  return sex; 
 } 
 public void setSex(String sex) 
 { 
  this.sex = sex; 
 } 
 public int getHigh() 
 { 
  return high; 
 } 
 public void setHigh(int high) 
 { 
  this.high = high; 
 } 
 public int getAge() 
 { 
  return age; 
 } 
 public boolean setAge(int age) 
 { 
  if (age >25) 
  { 
   return false; 
  } 
  else 
  { 
   this.age = age; 
   return true; 
  }     
 } 
 public String getSchool() 
 { 
  return school; 
 } 
 public void setSchool(String school) 
 { 
  this.school = school; 
 } 
}

在eclipse下單元測試這個類:

首先導入Junit包:選中java工程,點擊鼠標右鍵--->選擇properties---->在窗口中選Java Build Path---->在右側點擊Add Library---->在彈出的窗口列表中選中Junit---->下一步----->Junit 4(我用的是Junit 4)---->finish

這樣Junit 4包就導完了,接下來就是創(chuàng)建測試類:

將測試類和被測試類放在不同的包中(也可以放在同一個包中,此處只是為了區(qū)別),代碼如下:

測試類1:

package com.phicomme.test; 
import com.phicomme.hu.Student; 
import junit.framework.TestCase; 
public class StudentTest01 extends TestCase 
{ 
 Student testStudent; 
 //此方法在執(zhí)行每一個測試方法之前(測試用例)之前調用 
 @Override 
 protected void setUp() throws Exception 
 { 
  // TODO Auto-generated method stub 
  super.setUp(); 
  testStudent = new Student("djm", "boy", 178, 24, "華東政法"); 
  System.out.println("setUp()"); 
 } 
 //此方法在執(zhí)行每一個測試方法之后調用 
 @Override 
 protected void tearDown() throws Exception 
 { 
  // TODO Auto-generated method stub 
  super.tearDown(); 
  System.out.println("tearDown()"); 
 } 
 //測試用例,測試Person對象的getSex()方法 
 public void testGetSex() 
 { 
  assertEquals("boy", testStudent.getSex()); 
  System.out.println("testGetSex()"); 
 } 
 //測試Person對象的getAge()方法 
 public void testGetAge() 
 { 
  assertEquals(24, testStudent.getAge()); 
  System.out.println("testGetAge()"); 
 } 
}

測試類2:

package com.phicomme.test; 
import junit.framework.TestCase; 
import com.phicomme.hu.Student; 
public class StudentTest extends TestCase 
{ 
 private Student testStudent; 
 @Override 
 protected void setUp() throws Exception 
 { 
  // TODO Auto-generated method stub 
  super.setUp(); 
  testStudent = new Student("steven_hu", "boy", 170 , 23, "上海理工"); 
 } 
 @Override 
 protected void tearDown() throws Exception 
 { 
  // TODO Auto-generated method stub 
  super.tearDown(); 
 } 
 public void testSetage() 
 { 
  assertTrue(testStudent.setAge(21)); 
 } 
 public void testGetSchool() 
 { 
  //預期值和實際值不一樣,測試時出現失敗(Failure) 
  assertEquals("南昌大學", testStudent.getSchool()); 
 } 
 public void testGetName() 
 { 
  assertEquals("hdy", testStudent.getName()); 
 } 
}

當然,如果同時需要一起測試以上這兩個測試類,可以通過TestSuite類實現,它相當于是一個套件,可以把所有測試類添進來一起運行測試;

代碼如下:

package com.phicomme.test; 
import com.phicomme.hu.StudentTest02; 
import junit.framework.Test; 
import junit.framework.TestSuite; 
public class AllTest 
{ 
 //static PersonTest p = new PersonTest(); 
 //static PersonTest p1 = new PersonTest(); 
 public static Test suite() 
 { 
  TestSuite suite = new TestSuite("Test for com.phicomme.test"); 
  //suite.addTest(p); 
  //suite.addTest(p1); 
  suite.addTestSuite(StudentTest.class); 
  suite.addTestSuite(StudentTest01.class); 
  return suite; 
 } 
}

最后,分別測試以上三個類(選中需要測試的類---->鼠標右鍵---->Run As---->Junit Test):

StudentTest類的測試結果圖:

StudentTest01類的測試結果圖:

AllTest類的測試結果圖:

有關java的測試就講到這里,希望對大家有幫助,有時間也會接著講講有關android的單元測試,和在手機上實現編寫一個UI界面替代eclipse如上圖中的測試界面;

希望本文所述對大家Java程序設計有所幫助。

相關文章

  • FuncGPT慧函數保護數據安全提高代碼質量減少軟件故障(java示例)

    FuncGPT慧函數保護數據安全提高代碼質量減少軟件故障(java示例)

    這篇文章主要為大家介紹了FuncGPT慧函數保護數據安全提高代碼質量減少軟件故障(java示例),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • 深入理解java內置鎖(synchronized)和顯式鎖(ReentrantLock)

    深入理解java內置鎖(synchronized)和顯式鎖(ReentrantLock)

    這篇文章主要介紹了Java多線程之內置鎖(synchronized)和顯式鎖(ReentrantLock)的深入理解新的和用法,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • 解決IDEA Gradle構建報錯''Cause: zip END header not found''

    解決IDEA Gradle構建報錯''Cause: zip END header not found''

    這篇文章主要介紹了解決IDEA Gradle構建報錯"Cause: zip END header not found"的問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • JavaWeb實現學生信息管理系統(2)

    JavaWeb實現學生信息管理系統(2)

    這篇文章主要介紹了JavaWeb實現學生信息管理系統的第二篇,實現學生管理系統的查找和添加功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • java 序列化對象 serializable 讀寫數據的實例

    java 序列化對象 serializable 讀寫數據的實例

    java 序列化對象 serializable 讀寫數據的實例,需要的朋友可以參考一下
    2013-03-03
  • SpringMVC的自定義攔截器詳解

    SpringMVC的自定義攔截器詳解

    這篇文章主要介紹了SpringMVC的自定義攔截器詳解,攔截器只會攔截訪問的控制器方法, 如果訪問的是jsp/html/css/image/js是不會進行攔截的,需要的朋友可以參考下
    2023-07-07
  • SpringBoot整合SpringSecurity和JWT和Redis實現統一鑒權認證

    SpringBoot整合SpringSecurity和JWT和Redis實現統一鑒權認證

    Spring Security是一個可以為Java應用程序提供全面安全服務的框架,同時它也可以輕松擴展以滿足自定義需求,本文主要介紹了SpringBoot整合SpringSecurity和JWT和Redis實現統一鑒權認證,感興趣的可以了解一下
    2023-11-11
  • Java實現消消樂中的消除功能

    Java實現消消樂中的消除功能

    這篇文章主要為大家詳細介紹了Java實現消消樂中的消除功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • Java使用BouncyCastle加密

    Java使用BouncyCastle加密

    本文主要介紹了Java使用BouncyCastle加密,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-06-06
  • Java操作透明圖片并保持背景透明的實現

    Java操作透明圖片并保持背景透明的實現

    這篇文章主要介紹了Java操作透明圖片并保持背景透明的實現,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11

最新評論