2012-11-10 24 views
5

我最近了解到,Rspec +水豚(我是新來測試的東西)。我一直在測試我創建的一些新模型。現在,我正在考慮將title列添加到我的Post模型中。這不是一項艱鉅的任務,而且我以前做過很多次。但是我意識到,這需要我更新規格文件(例如發佈,發佈頁面,用戶,用戶頁面,工廠,sample_data等)。絕對是測試一切還是浪費時間(Rails)是一個好習慣嗎?

在這種情況下測試是浪費時間嗎?或者絕對測試一切都是一個好習慣?

我也懷疑測試寶石是否也浪費時間?因爲他們可能已經被他們的創建者測試過了(對於從可靠教程中獲取的東西進行測試也是如此)。

回答

4

雖然ruby社區以其對測試的關注而着稱,但每個案例都應該在上下文中進行分析以找出最具成本效益的決策。

將測試看作是一種管理風險的技術很有用。如果您不認爲顯示標題/將它們添加到數據庫是一項容易出錯,執行復雜的任務,或者添加這些測試的成本高於最終破壞某些內容的風險,那麼它可能是明智地不這樣做。

這就是說,既然你說你對測試是新手,那麼我會建議(如果你沒有時間限制,當然是)試圖將這個想法帶到測試絕對一切的極端,這樣你就可以有一個想法,它增加了多少價值,多少是浪費時間。

你可能想看看從DHH時,Rails的創造者,他談到這個博客帖子:Testing like the TSA

關於測試的寶石,它是普遍公認的是,他們不應該通過應用程序測試進行測試,但由其創建者進行測試。大多數情況下,你可以簡單地假設他們按照他們承諾的方式工作。

+0

感謝您的回答。我一直想知道。爲什麼Ruby社區專注於測試(或Rails社區)? – alexchenco

+0

@alexchenco我對此沒有具體的答案,但我認爲這部分是因爲該語言已經內置了一個測試框架('test/unit'),而且大部分社區都有它的根源在敏捷/ XP運動上。 –

+0

我明白了。是的,就像我從來沒有聽說過Python社區談論測試。 – alexchenco

1

測試的主要概念之一是:「不可能測試所有東西」

相關問題