11 Stimmen

Wie konfiguriere ich Visual Studio für die Ausführung von xUnit.net-Tests?

Ich habe Visual Studio 2010 zum Debuggen konfiguriert xUnit.net Tests durch Setzen des Projekteinstellungen | Debuggen | Externes Programm starten um den xUnit.net-Konsolen-Runner auszuführen.

Das funktioniert, aber nur, wenn der vollständige Pfad zur Testprojekt-DLL über die Option Befehlszeilenargumente z.B.: "c: \development\TestProject.dll "

Ich habe versucht, mit $(BinDir)$(ZielName)$(ZielExt) als Parameter über die Kommandozeilen-Argumente Abschnitt, aber es funktioniert nicht. Irgendwelche Vorschläge, wie ich den expliziten/vollständigen Pfad vermeiden kann?

6voto

MW_dev Punkte 2147

Diese Antwort wurde vor James' und Brads großartiger Arbeit mit xUnit.net-Läufer . Siehe die Antwort von michielvoo weiter unten.

Um das Problem der expliziten Angabe des Bibliotheksnamens zu vermeiden, kann man cmd.exe mit Befehlszeilenargumenten: /C xunit.console.exe $(BinDir)$(TargetName)$(TargetExt)

Vérifiez Ausgabefenster verwenden

Verwenden Sie die Extras|Optionen|Tastatur Konfiguration, um einen Hotkey zuzuweisen.

6voto

Dies verwende ich in meiner .csproj-Datei, um den xUnit GUI-Runner als Startaktion auszuführen:

<PropertyGroup>
  <StartAction>Program</StartAction>
  <StartProgram>$(MSBuildProjectDirectory)\..\..\Packages\xunit.runners.1.9.1\tools\xunit.gui.clr4.exe</StartProgram>
  <StartArguments>"$(MSBuildProjectDirectory)\$(OutPutPath)$(AssemblyName).dll"</StartArguments>
</PropertyGroup>

Damit dies funktioniert, müssen Sie lediglich die xUnit.net-Läufer NuGet-Paket:

PM> Install-Package xunit.runners

Der einzige Nachteil ist, dass sie versionsspezifisch ist. Jedes Mal, wenn Sie das NuGet-Paket auf die neueste Version aktualisieren, sollten Sie diese Konfiguration aktualisieren, damit sie auf den richtigen Runner verweist.

2voto

Christian Horsdal Punkte 4904

Ein alternativer Weg ist die Verwendung eines VS-Plugins als Testrunner. Zum Beispiel ReSharper.

0voto

John Punkte 531

Ich gebe einfach den vollständigen Namen der Baugruppe ein, das ist alles.

Unter Befehlszeilenargumente: SharedDataBridge.Tests.dll

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X