2011-01-06 28 views
3

是相當用於TDD在Java環境中我在想,如果TDD構建SQL查詢時,創建視圖也使用等SQL:處理SQL查詢/視圖/等時是否可以執行TDD?

如果還使用它,不要人怎麼辦呢?你需要創建很多小DB(基本上每個單元測試)?

我不知道,如果我的問題,使多大意義,但仍:TDD是相當長的一段作爲事情,改變了他們開發軟件的方式和有絕對發展在「SQL」怎麼回事考慮水平。那麼TDD和DB/SQL如何組合?

回答

2

在Rails的世界裏,你有你每次通過migrations運行測試套件的時間建立和fixtures運行測試之前的預先填充數據庫專用的測試數據庫。

這使TDD對數據庫完全可能。

我認爲數據庫開發人員不使用TDD的主要原因是文化比其他任何事情都要多。

+0

這也可以通過Visual Studio和數據庫項目完成(誰知道有多少第三方工具)。我不得不同意它是一種「文化」的東西。此外,數據庫模式從不錯;-) – 2011-01-06 10:56:38

0

我不認爲這是在數據庫世界中常見的。

問的問題是:「我在這裏測試什麼?」

它可以按照您的建議完成,也可以通過啓動事務,使用保證的初始已知狀態填充表,在測試下運行代碼然後回滾。但最終這些測試往往是以數據爲中心的,並且對數據庫更改變得脆弱:一個模式更改可能會破壞大量測試並創建大量工作。