2010-05-28 63 views
1

我想測試一個非常複雜的應用程序的部分,它包括一個主要的本地Windows組件和一個實質的WPF GUI。由於我無法詳細說明覆雜性,因此無法獨立運行本地部分,也無法隔離我想測試的區域(讓我講課,我們正在討論一個龐大的遺留代碼庫,並且我們做了重構計劃)。混合Windows應用程序的嵌入式單元測試框架

我正在尋找一個單元測試工具包,我可以在本地調用,但必須能夠使用啓動的管理部分初始化的應用程序運行。這似乎排除了cfix Windows單元測試套件的run executable feature。我非常喜歡他們的哲學,比如WinUnit,他們使用DLL編譯作爲添加C++中缺少的反射功能並獲得更多類似NUnit體驗的方法。

理想情況下,我想讓WinUnit在應用程序代碼中運行並生成HTML報告。

我試圖引入更多的TDD,讓儘可能精益的事情很重要。

+0

現在,靈感和一點體系結構重構的結合意味着我制定瞭如何隔離具有可測試邊界的庫中的大部分代碼。 – 2010-06-02 08:14:38

回答

0

答案是C++/CLI。

您可以使用託管代碼測試框架,如mbUnit,NUnit和xUnit.Net與C++/CLI代碼,他們工作正常。測試的內容然後從本地庫調用本地函數。

有兩種次要陷阱:

  1. 有一個在xUnit.Net防止屬性被重複在C++/CLI其InlineData,如在討論this question一個錯誤。
  2. 您有時必須小心測試運行程序的工作目錄或顯式複製本機DLL作爲影子副本方法某些使用只會獲得託管依賴項。
相關問題