Dot-Net
Windows 窗體的 Visual Studio 單元測試
我們正在使用 Visual Studio 2008 開發一個項目。我們正在使用隨它提供的內置測試套件(Microsoft.VisualStudio.TestTools.UnitTesting 命名空間)。事實證明,讓我們非常懊惱的是,大量的複雜性(以及因此的錯誤)最終被編碼到我們的 UI 層中。雖然我們的單元測試在覆蓋我們的業務層方面做得不錯,但我們的 UI 層一直是令人惱火的來源。理想情況下,我們也希望對其進行單元測試。有誰知道在視覺工作室中這樣做的一種很好的“微軟兼容”方式?它是否會引入某種衝突以將諸如nUnitForms之類的單元測試框架與 Microsoft 的東西“混合”在一起?對於單元測試表格,我應該注意哪些明顯的陷阱?
您需要重構 UI,以便 UI 不需要任何單元測試。UI 應包含最少的業務邏輯或不包含業務邏輯。有很多模式可以處理這個問題。Martin Fowler 有一篇非常好的文章,對這些模式進行了很多解釋:http ://martinfowler.com/eaaDev/uiArchs.html
Martin Fowler 的 Refactoring 書中有一小章討論了重構不可測試的 UI。您還可以閱讀有效地使用舊程式碼。
注意:有一些工具可用於自動化 UI 測試。我想到了 SilkTest。但如果可能的話,我不會使用它們。