2014-01-10 13 views
6

F: Ist es möglich, xUnit-Tests Seite an Seite mit MSTest in VS 2013 auszuführen? Wenn ja, was mache ich falsch?Visual Studio 2013 - nicht mehr in der Lage, xunit-Tests Seite an Seite mit MSTest auszuführen

Hintergrund:

ich eine .NET-Lösung von VS 2012-Format VS 2013

Ich war nicht in der Lage zu bekommen die xUnit Tests zu arbeiten migriert haben. Nach eingehender Fehlersuche (Experimentieren mit Projekttypen, MS Tools-Versionen, Erstellen neuer Projekte mit nur xUnit und Experimentieren mit xUnit-Versionen und Abhängigkeiten) konnte ich das Problem auf MSTests im selben Projekt wie xUnit-Tests eingrenzen. Dies funktionierte vorher in VS 2012.

Sobald ich nur eine Testmethode mit dem Attribut [TestMethod] markiert, wird keiner der xUnit-Tests ausgeführt. Sie können entweder in den Kontrollfeldern VS Test Explorer oder ReSharper Unit Testsitzungen angezeigt werden, aber sie werden entweder mit einem [!] Unter Not Run Tests (für Test Explorer) oder [?] (Für Unit Test Sessions) angezeigt. Wenn eine Klasse mit dem Attribut [TestClass], aber nicht eine mit [TestMethod] markierte Methode ausgeführt wird, können weiterhin xUnit-Tests ausgeführt werden.

Es kann sich herausstellen, dass dies ein Fehler in einer xUnit-Komponente ist, aber ich würde gerne sehen, ob irgendjemand anders Erfahrung im Gegenteil hatte.

Hinweis: Fast alle Komponententests basieren auf xUnit, der MSTest ist nur als Proof-of-Concept vorhanden, um sicherzustellen, dass er für den Fall unterstützt wird, dass MSTests später verwendet werden sollen.

-Code Auszüge:

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-Versionen:

  • MS Visual Studio Ultimate 2013 12.0.210051 REL
  • JetBrains ReSharper 8.1
  • xUnit.net Läufer für Visual Studion 2012 und 2013 v0.99.2
  • ReSharper Erweiterung:
    • xUnit.net Testunterstützung v1 .3.0
  • xUnit Projektpakete:
    • xunit.1.9.2
    • xunit.extensions.1.9.2
+0

Falls es anderen hilft, dies löste es für mich (schlechte zwischengespeicherte xunit-Bibliotheken): http://stackoverflow.com/a/39353876/284598 – GaTechThomas

Antwort

0

ReSharper Problem xunit/vstestrunner fix: (Es dauerte eine lange Zeit, dieses heraus zu Abbildung) Sie können ReSharper 8.2 oder höher erhalten.

  • Or - Eine Abzweigung ReSharper Tests
    In VS ReSharper klicken -> Optionen -> Unit-Tests - Deaktivieren Sie die Option Unit-Tests aktivieren.

und

Test -> Test Einstellungen-> Deaktivieren Sie die Option Testausführung bei laufenden Motor halten.

Dies sollte Ihnen ermöglichen, beide Motoren laufen zu lassen. Ich denke, was passiert ist, ist, dass wenn man gestartet ist es bleibt und es ist schwierig, die anderen zu bekommen

Stichwort zu arbeiten: Testamentsvollstrecker: // xunit/VsTestRunner2