0

我們的「主要」解決方案是開發代碼:共享庫,服務,UI項目等。另一種解決方案是集成和自動化測試解決方案。它引用了幾個開發項目。分開的原因是爲了避免干擾開發解決方案的單元測試VSMDI文件。並允許我們在不干擾開​​發解決方案的情況下使用不同的執行方法(其他測試運行者,如Gallio或StoryTeller)。處理跨多個解決方案共享的界面中的更改?

最近,一個接口在開發解決方案中發生了變化,我們的一個測試模擬器實現了該接口。但是,它沒有更新,因爲編譯時沒有警告,因爲它在另一個解決方案中。這打破了我們的CI構建。

有沒有人有類似的設置?你如何處理這些問題,你是否遵循嚴格的程序或有某種技術性的答案?

回答

0

我將所有未執行的測試基礎架構代碼移到單個項目中。它現在在開發和測試解決方案中。這樣,如果開發代碼是自動重構的,它在我的項目中發生了變化。如果對接口進行重大更改,它們將在編譯期間變爲錯誤。

1

一種方法是將任何共享接口提取到特定目錄,然後使用您的版本控制系統確保兩個項目之間的目錄相同 - 例如,如果您使用的是Subversion,它具有稱爲「externals」的功能,該功能允許一個項目包含一個目錄,該目錄實際上是另一個項目中指定目錄(或指定目錄的指定版本)的鏈接。

0

如果您的模擬實現了引用項目的接口,那麼該項目必須與其餘測試項目一起構建。如果事實並非如此,請在Visual Studio中檢查您的構建訂單/構建配置。

接口更改仍然可能不會觸發任何編譯錯誤,但測試失敗。但這與解決方案設置無關。

相關問題