2014-01-10 42 views
6

問:是否有可能與MSTest的運行的xUnit測試並排側VS 2013?如果是這樣,我做錯了什麼?的Visual Studio 2013 - 不再能夠運行的xUnit測試並排側MSTest的

背景:

我已經遷移從VS 2012格式VS 2013

.NET解決方案我無法得到的xUnit測試工作。很多故障排除之後(與項目類型,MS工具的版本實驗,只用的xUnit創建新項目,並與xUnit的版本和依賴性試驗),我是能夠向下縮小問題在同一項目中的xUnit測試有MSTests。這在VS 2012之前是有效的。

只要我包含一個標記爲[TestMethod]屬性的測試方法,就不會運行任何xUnit測試。它們可能出現在VS Test Explorer或ReSharper Unit Test Sessions面板中,但它們在非運行測試(對於測試資源管理器)或[?](對於單元測試會話)下顯示爲[!]。有一類與[TestClass]屬性,但打上[TestMethod]的方法仍然允許的xUnit測試運行。

結果可能會認爲這是在xUnit的組件中的錯誤,但我想看看其他人是否有任何相反的體驗。

注:幾乎所有的單元測試都基於的xUnit,在MSTest的只是有一個驗證的概念,以確保它的支持的情況下,MSTests是供以後使用。

代碼摘錄:

MSTest的:

using Microsoft.VisualStudio.TestTools.UnitTesting; 

namespace YYY.XXX.Test.Unit 
{ 
    [TestClass] 
    public class MSTests 
    { 
     [TestMethod] 
     public void Test_Blah() 
     { 
      Assert.AreEqual(2, 2); 
     } 
    } 
} 

的xUnit:

using Xunit; 

namespace YYY.XXX.Test.Unit 
{ 
    public class FactTests 
    { 
     [Fact] 
     public void Test_Blah() 
     { 
      Assert.Equal(2, 2); 
     } 
    } 
} 

SW版本:

  • MS Visual Studio的終極2013 12.0.210051 REL
  • JetBrains ReSharper的詳情8.1
  • xUnit.net亞軍爲Visual Studion 2012年和2013年v0.99.2
  • ReSharper的擴展:
    • xUnit.net測試支持V1 .3.0
  • 的xUnit項目包:
    • xunit.1.9.2
    • xunit.extensions.1.9.2
+0

在情況下,它可以幫助別人,這解決了這個問題對我來說(壞的緩存xunit庫):http://stackoverflow.com/a/39353876/284598 – GaTechThomas

回答

0

ReSharper的問題的xUnit/vstestrunner修復:(花了很長時間來弄清楚這一個太) 你可以得到ReSharper的8.2或更高版本。

  • 或者 - 一個關閉ReSharper的測試
    在VS點擊ReSharper的 - >選項 - >單元測試 - 取消選中啓用單元測試。

測試 - >測試設置 - >取消選中保持測試執行引擎的運行。

這應該讓你有兩個引擎運行。我認爲正在發生的事情是,一旦一個啓動它保持並得到其他就很難工作

關鍵字:執行人://的xUnit/VsTestRunner2

相關問題