2009-07-24 79 views
6

吉米·博加德,寫了一篇文章:Getting value out of your unit tests,在那裏,他給出了四個原則:準則更好的單元測試

  • 測試的名字應該描述是什麼和爲什麼,從用戶的角度來看
  • 測試是代碼也給他們一些愛
  • 不要在一個固定模式/組織風格
  • 一次裝夾解決執行驗證每個測試

在您看來,這些指導方針是否齊全?你有什麼指導單元測試? 請避免使用特定的語言成語,儘量保持答案與語言無關。

回答

6

有一個完整的,850頁的書叫xUnit Test Patterns與這個話題打交道,所以它不是東西,可以很容易地煮儘量遵守一些硬性規定(儘管你提到的規則很好)。

一個更易理解的書也涵蓋了這個問題是The Art of Unit Testing

如果我可以加我發現最重要的規則,它們是:

  • 使用測試驅動開發。這是迄今爲止進行良好單元測試的最有效途徑。試圖對現有代碼進行單元測試的改進往往很困難。
  • 保持簡單:理想情況下,單元測試應少於10行代碼。如果它增長到超過20行代碼,則應認真考慮重構測試代碼或正在測試的API。
  • 保持快速。單元測試套件意味着要非常頻繁地執行,因此旨在保持整個套件不超過10秒。這很容易意味着保持每個測試在10毫秒以下。
+0

xUnit測試模式+1:一本好書 – dfa 2009-07-24 08:10:58

+0

+1「保持快速」。 – 2009-07-24 08:18:29

5

寫單元測試很簡單,寫單元測試代碼很困難。

+3

往往單元測試也被破壞:測試邏輯錯誤,您對代碼有錯誤的信心 – dfa 2009-07-24 08:19:38

1
  • 破解密碼的定期測試,看看設備的有效性測試
2

The Way of Testivus

  • 如果你寫代碼,寫測試。
  • 不要停留在單元測試教條上。
  • 擁抱單元測試業力。
  • 想象一下代碼和測試。
  • 測試比單元更重要。
  • 測試的最佳時間是代碼是否新鮮。
  • 測試不會浪費掉。
  • 今天一個不完美的測試總比有一天完美的測試要好。
  • 醜陋的測試比沒有測試好。
  • 有時,測試證明手段是正確的。
  • 只有傻瓜纔會使用任何工具。
  • 良好的測試失敗。
1

看看你的測試的代碼覆蓋率,並嘗試使其合理完整(對於錯誤的情況下,我會使用一些判斷是否測試它們)。