2015-11-30 4 views
7

Ich habe durch die documentation for MSTest geschaut, aber immer noch kämpfen, um die ordnungsgemäße Verwendung von Testsettings/runsettings im Testprojekt zu verstehen. This article zeigt an, dass .runsettings alles sein sollte, was erforderlich ist, und es gibt keine Notwendigkeit mehr für eine .testsettings Datei (VS2010 und höher).Verwenden von .runsettings über die Befehlszeile in MSTest.exe

Ich habe eine Reihe von Tests erstellt, die Selenium Driver verwenden, um Integrationstests für unsere Anwendung durchzuführen. Da es sich um Integrationstests handelt, brauche ich eine Möglichkeit, je nach Umgebung, gegen die diese Tests ausgeführt werden, unterschiedliche Parameter zu liefern. Um dies zu erreichen, habe ich zwei separate .runsettings-Dateien erstellt: eine für die lokale Entwicklungsumgebung und eine für die Staging-Umgebung.

Das Ausführen dieser Tests über Visual Studio funktioniert einwandfrei. Visual Studio bietet Ihnen eine Option zum Festlegen der Einstellungsdatei über die Menüoption Test/Testeinstellungen/Testeinstellungen auswählen.

Auf meinem Build-Server muss ich jedoch auf die Befehlszeilen-Tools und MSTest.exe insbesondere verlassen. Die folgende Befehlszeile führt die Tests aus und erstellt die Ergebnisdatei korrekt.

MSTest.exe /noisolation /resultsfile:"D:\Results\TestResult.trx" /testcontainer:"d:\Project\bin\Release\Project.Tests.dll" 

jedoch alle Tests versagen aufgrund der Nullreferenceexception ausgelöst, wenn wir Parameter abgerufen werden versuchen, dass ich in den .testsettings angegeben.

Gibt es eine Möglichkeit, einen Pfad zu der entsprechenden .testsettings Datei über MSTest.exe Argumente? Ich überprüfte die Dokumente und /help Optionen und die nächste Option, die ich fand, war /testsettings, die nicht was ich will, da es verwendet wird, um den Pfad zur .testsettings Datei anzugeben.

Antwort

9

Wenn using a .runsettings file, you need to use vstest.console.exe, nicht mstest.exe. Wenn Sie mstest.exe verwenden, müssen Sie weiterhin eine .testsettings-Datei verwenden, die der ähnelt, die Sie mit Visual Studio 2010 verwendet haben.

+0

Vielen Dank! Nicht sicher, wie ich etwas so offensichtlich vermisste! Ich habe fehlinterpretiert, dass runsettings sowohl für ** MSTest ** als auch für * VSTest.Console ** verwendet werden könnten und war zu sehr darauf fokussiert, die Unterschiede zu erkennen. In jedem Fall - ich schätze Ihre Hilfe! – DaRussian

Verwandte Themen