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 由于一組關聯的TestCase組成..
通過以下兩步來建立我們簡單的Test Case;
建立Junit.framework.TestCase的實例.
定義一些 以"test"開頭的測試函數, 并且返回一空值.(比如 testWasTranscationSuccessful(),testShow()等等).
TestThatWeGetHelloWorldPrompt.java 同時遵循這些標準: 這些TestCase的子類含有一個testSay()的方法. 這個方法由assertEquals()方法調用, 用于檢驗say()的返回值(按照這里的做法返回應該是不一致,因為一開始建立的HelloWorld 我們讓say()返回的值是null).
main()主函數是用來運行test并且顯示輸出的結果. JUnit的TestRunnery以(swing.u)圖形和本文(text.ui)的的方式來執行我們的test并反饋信息。我們就使用文本(text.ui),這個Eclipse肯定支持. (譯注:這里可能翻譯的不怎么好,所謂文本和圖形,是指你在建立TestCase的時候,有一個選項,Which method stubs would you like to create,選擇text.ui|| swing.ui||awt.ui,一般是選擇text.ui因為Eclipse肯定支持這個), 依照這些文本的信息,Eclipse同時會生成圖形顯示。(在Package Exploer的下面Tab條上會多個JUnit,點它就看到了:)。
又一個所以,按照現在這樣測試驅動的開發的做法, 一旦我們跑起了我們的test,我們應該看到返回一些錯誤的信息。 點Run-> Run as -> JUnit Test(注意啊, 這個TestThatWeGetHelloWorldPrompt.java應該在Package Explorer被點中,在左邊那個window中),你點到的因該是JUnit window(就是下面的那個Tab條,注意不是Package Exploer),這樣你就看到了JUnit window, 他會顯示一個紅色條,表示是一個失敗的Test。 (如果你按了運行它沒有自動轉到這個窗口,你可以點做下Tab條 上的JUnit標簽。)
文章來源于領測軟件測試網 http://www.kjueaiud.com/