您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > junit
測試實踐:Eclipse之JUnit
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2013/3/27 14:30:37 ] 推薦標簽:

    都準緒,開始建立測試了, 所以現(xiàn)在需要給測試取一個名稱。 你可能說,“這不是問題: 在每個類面前加個Test是了!” 但并不是那么簡單的, 讓我告訴你這樣如果可能造成的問題:

    當時候我們在使用TDD的方式開發(fā)時, 需要測試的class或者method可能都不存在。

    也可能一個test 含蓋了好幾個方法,甚至好幾個classes。

    這些僅僅是普通的問題, 下面還有更多。

    給個在test命名上的建議: test 類的取名首先應(yīng)該表達出這個類是一個test類,并且能確切的表示出他要檢查哪些,留有這個原class名的味道。 其實這很容易,請別擔心這個名稱會變的很長或者很丑陋,自己隨便怎樣取都可以。

    下面我們將使用Eclipse中的JUnit工具建立我們的第一個測試,假定你已經(jīng)下載了這個產(chǎn)品的當前版本, 如果沒有,你隨時可以從它的官方網(wǎng)站(www.eclipse.org)下載。我們需要JUnit,你也可以從它的官方網(wǎng)站(www.junit.org)上下載,下載并解壓縮到你硬盤中存放java libaries的地方。

    打開Eclipse.我們將建立一個新的工程的工作空間(workplace project) 點 File -> New ->Project,選擇Java一路Next。 輸入工程名稱(project name),比如ProjectWithJUnit. 點擊完成。 這樣建立了一個新工程,讓我們配置一下我們的Eclipse,于是,我們把JUnit library 添加到build path. 點擊 Project-->Properties, 選擇Java Build Path Libraries, 點Add Exteranal JARs 選中JUnit.jar。 你將會看到JUnit將會出現(xiàn)在的屏幕上 libraries列表中。 點Okay,Eclipse將強制rebuild所有的build paths.

    我們已經(jīng)準備好,開始寫我們的"Hello World"了 . 讓我們遵照TDD規(guī)范:在編碼之前建立測試。為了, 我們將假頂我們將要寫的類名是HelloWorld 有一個返回字符串的方法 say().

    要建立這樣一個test, 在ProjectWithJUnit標題上右鍵, 選擇New -> Other,展開"Java", 選擇JUnit. 在對話框的右邊一攔里選擇TestCase,接著點Next. 參見圖1。

圖1。 在Eclipse 中建立JUnit test

    在Test class:一攔里輸入我們需要測試的class--HelloWorld。并且給Test case取個名稱--- 比如,TestThatWeGetHelloWorldPrompt(是的,這看上去太長了,但是它能很清楚表達出它的意思) 點Finish完成。

    下面是 TestThatWeGetHelloWorldPrompt.java的代碼:

public class TestThatWeGetHelloWorldPrompt extends TestCase { public TestThatWeGetHelloWorldPrompt( String name) { super(name); } public void testSay() { HelloWorld hi = new HelloWorld(); assertEquals("Hello World!", hi.say()); } public static void main(String[] args) { junit.textui.TestRunner.run( TestThatWeGetHelloWorldPrompt.class); } }

    這個代碼一點都不復雜,僅僅有一點點特別。 不管怎樣,讓我們詳細的檢查它。 我們繼承了JUnit的TestCase. (TestCase 在JUnit的javadoc里定義是"用來運行多個Test的固定裝置")。 JUnit也定義了TestSuite 由于一組關(guān)聯(lián)的TestCase組成..

    通過以下兩步來建立我們簡單的Test Case;

    建立Junit.framework.TestCase的實例.

    定義一些 以"test"開頭的測試函數(shù), 并且返回一空值.(比如 testWasTranscationSuccessful(),testShow()等等).

    TestThatWeGetHelloWorldPrompt.java 同時遵循這些標準: 這些TestCase的子類含有一個testSay()的方法. 這個方法由assertEquals()方法調(diào)用, 用于檢驗say()的返回值(按照這里的做法返回應(yīng)該是不一致,因為一開始建立的HelloWorld 我們讓say()返回的值是null).

上一頁123下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd