我有一個使用NUnit的單元測試項目。當我將mspec(machine.specifications)程序集添加到引用時,ReSharper和TestDriven.Net都停止運行NUnit測試,並僅運行mspec測試。是否可以在單個項目中進行MSpec和NUnit測試?
是否有方法或設置允許兩個NUnit & mspec測試共存並在同一個項目中使用R#& TD.Net測試運行器運行?
我有一個使用NUnit的單元測試項目。當我將mspec(machine.specifications)程序集添加到引用時,ReSharper和TestDriven.Net都停止運行NUnit測試,並僅運行mspec測試。是否可以在單個項目中進行MSpec和NUnit測試?
是否有方法或設置允許兩個NUnit & mspec測試共存並在同一個項目中使用R#& TD.Net測試運行器運行?
我剛剛在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測試。
確保您在ReSharper中打開MSpec。即使您「安裝」了跑步者(手動或通過bat文件),默認情況下也不會打開。打開它在
ReSharper menu |選項... |工具|單元測試
目前,我無法讓R#運行任何mspec測試:-(我將不得不圍繞...... WRT TD.NET,它正在運行項目中的所有測試我看到了和你一樣的行爲:-( – 2010-05-01 19:21:10
你是什麼意思,由R#沒有運行任何測試?你看到陰溝圖標?測試是否添加到單元測試會話窗口中?單元測試圖標測試執行後變成灰色而不是綠色? – 2010-05-02 21:35:07