用這1個 *** 「的 *** 」

大家好,關于用這1個 *** 很多朋友都還不太明白,不知道是什么意思,那么今天我就來為大家分享一下關于的 *** 的相關知識,文章篇幅可能較長,還望大家耐心閱讀,希望本篇文章對各位有所幫助!
1怎么用junit 只測試1個 *** JUnit是由 Erich Gamma 和 Kent Beck 編寫的一個回歸測試框架(regression testing framework) 。Junit測試是程序員測試,即所謂白盒測試,因為程序員知道被測試的軟件如何(How)完成功能和完成什么樣(What)的功能 。Junit是一套框架,繼承TestCase類,就可以用Junit進行自動測試了 。
JUnit是一個開發源代碼的Java測試框架,用于編寫和運行可重復的測試 。他是用于單元測試框架體系xUnit的一個實例(用于java語言) 。它包括以下特性:
1、用于測試期望結果的斷言(Assertion)
2、用于共享共同測試數據的測試工具
3、用于方便的組織和運行測試的測試套件
4、圖形和文本的測試運行器
另外junit是在xp編程和重構(refactor)中被極力推薦使用的工具,因為在實現自動單元測試的情況下可以大大的提高開發的效率,但是實際上編寫測試代碼也是需要耗費很多的時間和精力的,那么使用這個東東好處到底在哪里呢?筆者認為是這樣的:
1、對于xp編程而言,要求在編寫代碼之前先寫測試,這樣可以強制你在寫代碼之前好好的思考代碼( *** )的功能和邏輯,否則編寫的代碼很不穩定,那么你需要同時維護測試代碼和實際代碼,這個工作量就會大大增加 。因此在xp編程中,基本過程是這樣的:構思-》編寫測試代碼-》編寫代碼-》測試,而且編寫測試和編寫代碼都是增量式的,寫一點測一點,在編寫以后的代碼中如果發現問題可以較塊的追蹤到問題的原因,減小回歸錯誤的糾錯難度 。
2、對于重構而言,其好處和xp編程中是類似的,因為重構也是要求改一點測一點,減少回歸錯誤造成的時間消耗 。
3、對于非以上兩種情況,我們在開發的時候使用junit寫一些適當的測試也是有必要的,因為一般我們也是需要編寫測試的代碼的,可能原來不是使用的junit,如果使用junit,而且針對接口( *** )編寫測試代碼會減少以后的維護工作,例如以后對 *** 內部的修改(這個就是相當于重構的工作了) 。另外就是因為junit有斷言功能,如果測試結果不通過會告訴我們那個測試不通過,為什么,而如果是想以前的一般做法是寫一些測試代碼看其輸出結果,然后再由自己來判斷結果使用正確,使用junit的好處就是這個結果是否正確的判斷是它來完成的,我們只需要看看它告訴我們結果是否正確就可以了,在一般情況下會大大提高效率 。
安裝JUnit
安裝很簡單,先到以下地址下載一個最新的zip包:
下載完以后解壓縮到你喜歡的目錄下,假設是JUNIT_HOME,然后將JUNIT_HOME 下的junit.jar包加到你的系統的CLASSPATH環境變量中,對于IDE環境,對于需要用到的junit的項目增加到lib中,其設置不同的 IDE有不同的設置,這里不多講 。
如何使用JUnit寫測試?
最簡單的范例如下:
1、創建一個TestCase的子類
package junitfaq;
import java.util.*;
import junit.framework.*;
public class SimpleTest extends TestCase {
public SimpleTest(String name) {
super(name);
}
2、寫一個測試 *** 斷言期望的結果
public void testEmptyCollection() {
Collection collection = new ArrayList();
assertTrue(collection.isEmpty());
}
注意:JUnit推薦的做法是以test作為待測試的 *** 的開頭,這樣這些 *** 可以被自動找到并被測試 。
3、寫一個suite() *** ,它會使用反射動態的創建一個包含所有的testXxxx *** 的測試套件
public static Test suite() {
return new TestSuite(SimpleTest.class);
}
4、寫一個main() *** 以文本運行器的方式方便的運行測試
public static void main(String args[]) {
junit.textui.TestRunner.run(suite());
}
}
5、運行測試
以文本方式運行:
java junitfaq.SimpleTest
通過的測試結果是:
.
Time: 0
OK (1 tests)
Time上的小點表示測試個數,如果測試通過則顯示OK 。否則在小點的后邊標上F,表示該測試失敗 。
每次的測試結果都應該是OK的,這樣才能說明測試是成功的,如果不成功就要馬上根據提示信息進行修正了 。
如果JUnit報告了測試沒有成功,它會區分失?。╢ailures)和錯誤(errors) 。失敗是你的代碼中的assert *** 失敗引起的;而錯誤則是代碼異常引起的,例如ArrayIndexOutOfBoundsException 。

推薦閱讀