2009-06-16 434 views
2

我被告知,在VS2008自動生成測試可以由具有NUnit的兼容只需通過添加製作VS2008測試到NUnit的測試

#if !NUNIT 
using Microsoft.VisualStudio.TestTools.UnitTesting; 
#else 
    using NUnit.Framework; 
    using TestClass = NUnit.Framework.TestFixtureAttribute; 
    using TestMethod = NUnit.Framework.TestAttribute; 
    using TestInitialize = NUnit.Framework.SetUpAttribute; 
    using TestCleanup = NUnit.Framework.TearDownAttribute; 
    using TestContext = System.String; 
    using DeploymentItem = NUnit.Framework.DescriptionAttribute; 
#endif 

編輯:問題略有改變焦點,因爲我固定的參考問題。再次,我被告知這個聲明會改變到正確的單元測試程序VS或NUnit。

它永遠不會進入else語句。所以新的問題是,我是否需要將條件更改爲其他內容,或者我是否再次缺少簡單的東西?

回答

0

我忽略了理查德指出的那個簡單的錯誤後,我發現了該怎麼做。

因爲我在CC.NET中運行這些東西,所以我只是簡單地用了變量並在cmd中設置了一個windows變量,然後用nunit-console.exe運行了dll。

如果你真的不關心能夠在VS2008和NUnit測試程序之間來回切換,那麼你可以取出預編譯代碼,將if的內容和NUnit的其他內容留下。

2

你是否引用了NUnit程序集代替VS測試程序集?

0

你想轉換你的測試或者在同一個項目中同時運行NUnit和VS測試嗎?如果您正在轉換,那麼您應該可以使用find &替換來進行大部分更改。

我經歷了從VS測試到NUnit的轉換,並發現了一種語法差異:IsInstanceOfType方法的參數順序不同。