2011-11-16 107 views
5

尋找關於如何在此處繼續的一些建議。集成測試與測試數據庫鏈接的WCF服務

我正在嘗試對調用其他wcf服務的wcf服務進行一些集成測試。我想確保它們在彼此之間正確配置。我們目前使用spring.net和Nhibernate。我不確定的是如何檢查數據庫正在更新而不實際保存任何內容到數據庫。

我有我想在這裏測試的msmq和wshttp服務。我熟悉事務,因爲我們在春季使用它們,但我不知道如何設置我的測試,以便在未通過集成測試直接測試的服務中回退事務。

現在我唯一的選擇是使用測試數據庫和測試數據,但似乎必須有比這更好的解決方案。

+3

爲什麼你願意在**生產**數據庫而不是**測試**數據庫上測試**軟件? – CodeCaster

+0

也許你誤會了我?到目前爲止我唯一的選擇是創建一個測試數據庫和測試數據。 –

+1

你能設置所有的服務來使用相同的數據庫並共享相同的'SessionFactory'嗎? – Marijn

回答

0

我決定使用特定於應用程序的實現。基本上創建一個測試數據庫,讓我們的應用程序根據傳入我們的服務的一些值打到測試數據庫。

0

也許你可以使用諸如Moq之類的東西來模擬更新數據庫(或DAL層)的服務,避免調用數據庫並檢查模擬的驗證方法是否會執行對數據庫的調用。在我們的項目中,我們使用wcf的這個庫獲得了很好的結果。

+0

如果您想測試服務是否連線正確,這是個不錯的主意,但這實際上並不能確認將正確的sql發送到數據庫。我認爲這是OP的目標。 – Marijn

+0

也許嘲笑數據訪問層,而不是wcf服務將做的伎倆。我不知道這是如何實現的,但是如果存在這樣的層,很容易看到是否會執行正確的sql而不執行它。 – Diego

+0

是的,我在測試接口時會這樣做。但是沒有辦法對間接被調用的服務進行任何模擬。 –