我們有以下設置:Visual Studio的差異,當在Visual Studio和構建服務器上運行測試
- 的Visual Studio 2012/SQL Server 2012的
- TFS 2010年,構建服務器自動運行單元測試的構建。
- 與大量的代碼和2個測試項目中的溶液(以便在構建時2個獨立的組件),測試用Visual Studio的單元測試框架完成。
- 的第一組件包含了所有實際的單元測試,他們也都運行正常。在大多數測試中,我們在db中寫入一些數據,運行一些代碼,然後清理數據。
- 我們使用第二個程序集進行數據庫播種。由於測試和集被加載/按字母 順序執行,我們在第二組件的名稱以 「Z」開頭的測試(集名稱也開始與「Z」)。構建服務器日誌 也確認Z測試是最後執行的。所以這個測試 只寫入數據庫中的一些數據。我們更喜歡這個播種與使用DB項目 由於現有的基礎設施, 讀取Excel文件數據,並寫入到SQL Server。
問題是,當我們在我們的開發機器上運行所有測試時,Z測試最後執行,並且種子數據保留在數據庫中。當在構建服務器上執行測試時,Z測試也會最後執行,但數據不會保留在數據庫中。
按照SQL Server Profiler中,插入/創建表執行,所以數據都在我們的機器和構建服務器上的數據庫得到,但在構建服務器上的一些刪除/降查詢後立即執行插入。我們無法分辨他們來自哪裏。
我們試圖運行只有Z測試組件和數據保留在數據庫中。所以滴液必須由其他組件引起。但是如何?爲什麼visual studio和構建服務器運行測試的方式有所不同?
有沒有人遇到過這樣的事情?
我同意,但在這種情況下,我們只需要一種快速的方法來種子一些數據。這篇文章非常好,謝謝! – pax162 2013-02-11 09:47:07