}
public int search(Object x)
{
return super.indexOf(x);
}
}
編譯之后,再次執行java junit.awtui.TestRunnertestQueue, 你將再次看到成功的綠色。
圖2
我們仔細看一下這一界面。
1) 最上面列出了測試代碼的類名,右邊有一個"Run" 按鈕,當你需要再次運行這一測試代碼時,只需單擊這個按鈕。另外,將"Reload classesevery run" 選項打上勾很有用,當你測試未通過(出現紅色時), 你可以轉身去修改代碼,修改完后,只需再按"Run" 按鈕就可以再次運行。
2) 中間區域是一個狀態匯報區,紅色表示未通過,統計了共運行了多少個測試(也就是在TestCase類中方法的數量)。
3) 如果測試時出現錯誤,例如,我們不小心將"assertTrue(!(q2.empty()));" 誤寫成為"assertTrue(q2.empty());" 就將造成測試失。
注:由于第一個測試還是通過的,因此你會看到綠色條一閃。這時,你將會發現JUnit會將錯誤列出來,并且對應的"Run"按鈕也由灰變成了亮,這表示你可以轉身修改,完成后單擊這個"Run按鈕"可以只做剛才失效的這個測試,這將節省大量的時間。
同時,在最下面的窗體里,列出了失效的詳細原因。
后面的迭代
到這里,開發還沒有完成,但這種思想卻已經通過這樣兩個短小的實踐傳遞出去了,后面的活大家可以動手試一下。
另外值得一提的是,這里雖然洋洋灑灑一大篇,實際兩次迭代花費了我不到15分鐘就完成了。而且,當看到綠條時,心里十分舒暢。
一些遺憾
文章到此就告一段落,但卻有些許遺憾。
遺憾之一:這只是一篇文章,沒有辦法把所有方面都講得面面俱到,以致于大家可能無法馬上上手。
正是由于這樣的原因,本文取名為"感悟", 與大家交流一下體會,希望能夠幫助大家更好地接受"測試驅動開發"的理念,并開始著手實踐。
遺憾之二:筆者水平有限,無法解決大家的各種問題。
讓筆者感到欣慰的是,記載著這些答案的《測試驅動開發》、《敏捷軟件開發》、《擁抱變化: 解析極限編程》等大作都已悉數擺上了中國的書店。路雖難走,但明師已有。
實踐永遠是學習的最好方法,看到筆者的感悟,就開始極限之旅吧,因為那里風光無限,樂趣無限。當你掌握了測試驅動開發的精髓,那你就能夠對你自己編寫的所有代碼充滿信心,不再擔心它們什么時候在你的后面放一冷箭,從此告別這給你帶來無限壓力的苦惱。
文章來源于領測軟件測試網 http://www.k11sc111.com/