2010-05-18 178 views
3

我所在的團隊目前正在使用TSQL編寫代碼來生成TSQL代碼,該代碼將作爲腳本保存並隨後運行。我們在測試代碼生成器部分和測試他們生成的實際代碼之間分離我們的單元測試有點困難。單元測試SQL代碼生成器

我已閱讀another similar question,但我希望得到一些具體的例子,說明我們可能有什麼樣的單元測試用例。

舉一個例子,假設我有一些代碼爲視圖提供了簡單的DROP語句,給定了視圖模式和名稱。我是否只是測試生成的代碼是否使用字符串比較來匹配某些預期的結果,然後在稍後的集成或系統測試中確保該放置實際上放棄了存在的視圖,如果該視圖不存在則不執行任何操作,如果視圖是我們標記爲不允許放置的視圖,則會出錯?

感謝您的任何建議!

+2

你自己的答案很不錯:單元測試代碼生成和使用集成測試來運行生成的SQL。 – topchef 2010-05-18 19:27:03

回答

1

測試您想要首先生成的代碼是合理的。一旦你知道這個代碼有效,你可以按照你所提到的那樣去掉字符串。

+0

這就是我們所做的,小心地將兩組測試包括在同一個測試組中,以便如果我們更改生成的代碼來解決問題,它會自動導致生成器測試開始失敗,直到它被更正爲生成新的(正確的)代碼。在這個測試和集成測試之間,我認爲我們將會很好地被覆蓋。 – 2010-05-19 13:16:32