本節書摘來異步社群《junit實戰(第2版)》一書中的第1章,第1.1節,作者:【美】petar tahchiev , felipe leme , vincent massol , gary gregory,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。
junit實戰(第2版)
never in the field of software development was so much owed by so many to so few lines of code.
在軟體開發領域中,從來沒有這樣的事情:少數幾行代碼對大量代碼起着如此重要的作用。
——martin fowler
本章重點
探索junit
安裝junit
編寫第一個測試
運作測試
所有的代碼都需要進行測試。
在開發期間,我們所做的第一件事是運作程式員自己的“驗收測試”。我們編碼、編譯并運作。當我們運作時,我們就在進行測試。測試可能隻是點選一個按鈕,看它是否能彈出預期的菜單。然而,每天我們都要進行編碼、編譯、運作和測試。
當我們測試時,我們經常會發現各種問題——尤其是第一次運作時。于是,我們重新編碼、編譯、運作和測試。我們中的大多數人會迅速形成一種非正式的測試模式:添加一條記錄、檢視一條記錄、編輯一條記錄以及删除一條記錄。手動運作諸如此類的小測試集是非常容易做到的,是以我們會不斷重複這個操作。
有些程式員喜歡這類重複性的測試。在經曆深入的思索和艱難的編碼後,這類重複性的操作可以帶來一段愉快的小憩。當我們小小的點選測試終于成功時,一股成就感便會油然升起:搞定了!我搞定了!
但有一些程式員卻不喜歡重複性的工作。與其手動運作測試,他們甯願建立一個小程式來自動運作測試。編寫測試代碼是一回事,而運作自動測試是另一回事。
如果你是一名編寫測試代碼的開發人員,那麼這本書就是為你而準備的。我們将為你展示建立自動測試是多麼簡單、有效,甚至有趣。
如果你是一名深受測試影響的開發人員(test-infected1),那麼這本書同樣适合你。我們在第1部分介紹了基礎知識,然後在第2、第3和第4部分繼續探讨實際工作中的各種疑難雜症。
1test-infected是由gamma和beck建立的一個術語,參見《test-infected: programmers love writing tests》,java report, 3, 7, 37–50: 1998。