2014-01-10 48 views
6

Q:VS 2013でMSTestを使用してxunitテストを横に並べて実行できますか?もしそうなら、私は間違って何をしていますか?Visual Studio 2013 - xunitテストをMSTestと並行して実行できない

背景:

私はVS 2013にVS 2012のフォーマットから

を.NETソリューションを移行した私はxUnitのテスト作業を取得することができませんでした。多くのトラブルシューティング(プロジェクトの種類、MSツールのバージョン、xUnitだけで新しいプロジェクトを作成し、xUnitのバージョンと依存関係を試してみる)を行った結果、xUnitテストと同じプロジェクトにMSTestを持つように問題を絞り込めました。これはVS 2012以前のバージョンです。

[TestMethod]属性のマークが付いたテストメソッドを1つだけ含めると、xUnitテストは実行されません。 VSテストエクスプローラまたはReSharper Unit Test Sessionsパネルに表示されることがありますが、Not Run Tests(テストエクスプローラ用)または[?](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
  • のVisual Studion 2012および2013 v0.99.2
  • ReSharperの拡張のための
  • xUnit.netランナー:
    • xUnit.netテストのサポートV1 .3.0
  • のxUnitプロジェクトパッケージ:
    • xunit.1.9.2
    • xunit.extensions.1.9.2
+0

が、これは私のためにそれを解決した(:エグゼキュータ:私は何が起こっていることは1が開始されると、それはとどまり、それが

キーワードを動作させる他を得ることは困難だということだと思います悪いキャッシュxunitライブラリ):http://stackoverflow.com/a/39353876/284598 – GaTechThomas

答えて

0

ReSharperの問題のxUnit/vstestrunner修正:あなたはReSharperの8.2以上を取得することができます (あまりにもこれを把握するのに長い時間がかかりました)。

  • それとも - ワンターンオフReSharperのは、ReSharperのクリックVSで
    をテストします - >オプション - >ユニットテストを - チェックを外しユニットテストを有効にします。

テスト - >テスト設定 - >チェックを外して、テスト実行エンジンを実行したまま。

これにより、両方のエンジンを動作させることができます。 // xUnitフレーム/ VsTestRunner2

、それは他の人を助け場合
関連する問題