2010-08-13 56 views
22

我很想知道是否有一種方法可以使Visual Studio在我構建的時候運行與給定程序集相對應的單元測試。編譯時自動運行單元測試

給出一個包含結構化的這樣的項目的解決方案:

Assembly1 

Assembly1.Tests 

Assembly2 

Assembly2.Tests 

有沒有一種方法,我可以得到的單元測試中Assembly2.Tests每當Assembly2被建成運行?

這將是驚人的。

我正在使用Visual Studio 2008標準版。

回答

18

您可以使用nUnit控制檯實用程序將測試作爲單個項目的構建後事件運行。

您調用nunit-console.exe並提供包含測試的程序集作爲參數。

「C:\ Program Files文件\ NUnit的2.5.7 \ BIN \ NET-2.0 \ NUnit的-console.exe」 「PathToTestAssembly.dll」

您可以運行在GUI測試:

「C:\ Program Files文件\ NUnit的2.5.7 \ BIN \ NET-2.0 \ nunit.exe」 「PathToTestAssembly.dll」/運行

編輯:

刪除有關職位的部分生成測試的事件裝配項目。

+0

我現在還不能嘗試,但如果你是對的,這是一件非常有用的事情,很容易設置。我會打你一會兒... – David 2010-08-13 09:26:03

+0

對不起,你的警告(關於在哪裏把後構建事件)適用於你的替代品,或只有後者? – David 2010-08-13 09:27:36

+0

只有後者作爲$(TargetPath)變量引用該項目的輸出程序集。因此,如果您在主裝配(正在測試中)的構建中使用後一個構建後事件,則它不適用於nunit。 – fletcher 2010-08-13 09:34:33