我剛剛進入使用VS2008編寫SQL 2008 CLR存儲過程在編寫C#代碼,我習慣了有一個單獨的「測試項目」在那裏我會放置所有我的單元測試代碼,然而它似乎在第一次臉紅,我不能有一個與存儲過程的clr sql項目相同的設置。它'覺得'可以做到這一點,並且我缺少一些配置參數,但我不確定這些參數是什麼。CLR SQL存儲過程測試與單元測試項目
我使用
- 的Visual Studio 2008
- MS測試
- MS SQL 2008
我的要求是:
- 調試在視覺上的存儲過程工作室調試器
- 有一堆單元測試來測試存儲過程
有誰知道我怎麼能有單元測試項目正常depoly存儲過程服務器,連接到SQL服務器,並允許我通過單元測試來檢查坐在服務器上的存儲過程?
**** ****更新
謝謝大家這麼遠的答案,但他們都沒有什麼excatly我要找的。
Mark Seemann's下面的答案是我不知道的一個有趣的方法,當涉及到將數據庫重置爲已知狀態時,我一定會使用它。不過,我正在調試CLR存儲過程,並且沒有顯示Mark的方法會允許我從單元測試項目到SQL服務器,並調試坐在服務器上的代碼。
我期待實際調試C#坐在服務器上,就像下面列出的解決方案pho3nix。但是,使用這種標準方法,您需要使用'Test.sql'文件編寫測試腳本,而不是使用Visual Studio中的單元測試項目。
我希望我能在我的解決方案兩個項目,一個是我的CLR存儲過程和一個爲我的單元測試項目。當我想在我的單元測試項目運行我的測試中,我希望所有的我的CLR存儲過程的項目所做的更改將被髮布到服務器,測試項目將開始執行,如果我在CLR設置一個斷點當單元測試開始測試存儲過程時,存儲過程將在服務器上中斷,然後我可以遍歷代碼。
我到目前爲止發現的最接近的解決方案是通過Alex Kuznetsov and Alex Styler,但是採用這種解決方案我無法通過步到SQL服務器。
****更新2 ****
這更多的是一種「碰撞」把這個問題丟回了......我仍然沒有運氣從單位步進到SQL服務器試驗。任何其他想法?