2010-04-30 66 views
1

我有一個使用NUnit的單元測試項目。當我將mspec(machine.specifications)程序集添加到引用時,ReSharper和TestDriven.Net都停止運行NUnit測試,並僅運行mspec測試。是否可以在單個項目中進行MSpec和NUnit測試?

是否有方法或設置允許兩個NUnit & mspec測試共存並在同一個項目中使用R#& TD.Net測試運行器運行?

回答

1

我剛剛在VS 2008上用ReSharper 5.0和TestDriven.Net 3.0 RC2和下面的代碼進行了測試。

using Machine.Specifications; 

using NUnit.Framework; 

namespace ClassLibrary1 
{ 
    [TestFixture] 
    public class FooTests 
    { 
     [Test] 
     public void Bar() 
     { 
      Assert.IsTrue(true); 
     } 
    } 

    public class When_tests_are_run 
    { 
     It should_succeed =() => true.ShouldBeTrue(); 
    } 
} 

我無法重現您用ReSharper描述的行爲。首先,ReSharper根據綠色和黃色的排水溝標記指示檢測兩個測試類別。右鍵單擊該項目並選擇「運行單元測試」即可成功運行這兩個測試。通過排水溝圖標單獨運行它們也可按預期運行。

至於TestDriven.Net,我不確定它是否支持在一個項目中使用多個測試框架的情況。當我在項目上「運行測試」時,只執行MSpec上下文。但是,單擊NUnit TestFixture內部的「Run Test(s)」會執行NUnit測試。

+0

目前,我無法讓R#運行任何mspec測試:-(我將不得不圍繞...... WRT TD.NET,它正在運行項目中的所有測試我看到了和你一樣的行爲:-( – 2010-05-01 19:21:10

+0

你是什麼意思,由R#沒有運行任何測試?你看到陰溝圖標?測試是否添加到單元測試會話窗口中?單元測試圖標測試執行後變成灰色而不是綠色? – 2010-05-02 21:35:07

0

確保您在ReSharper中打開MSpec。即使您「安裝」了跑步者(手動或通過bat文件),默認情況下也不會打開。打開它在

ReSharper menu |選項... |工具|單元測試

相關問題