Übergeben von Parametern über Befehlszeile NUnit
-
02-10-2019 - |
Frage
Ist es irgendwie möglich, Werte zu NUnit Tests über die Kommandozeile zu übergeben? Meine Tests verwenden, um eine bestimmte URL. Ich habe verschiedene Instanzen meines Codes bei unterschiedlichen URLs und möchte die URL über Kommandozeile angeben. App.config ist keine Option, weil ich die Tests für verschiedene URLs über eine Batch-Datei ausgeführt werden soll.
Lösung 2
Es scheint im Moment keine Lösung. Die beste Option ist NUnit-Projektdateien zu verwenden, ändern Sie die Einstellungen gibt und die Lösung Datei auf den Läufer übergeben.
Andere Tipps
Umgebungsvariable.
set
Verwenden von der Kommandozeile oder <setenv>
von Nant. Dann lesen Sie den Wert Environment.GetEnvironmentVariable()
verwendet wird.
Ich hatte ähnliches Problem, die Antwort von Achim hat mich auf dem richtigen Weg, für andere Leser
Erstellen Sie eine Datei wie example.nunit wie folgt aus:
<NUnitProject>
<Settings activeconfig="local"/>
<Config name="local" configfile="App.config">
<assembly path="bin\Debug\example.dll"/>
</Config>
<Config name="dev" configfile="App.Dev.config">
<assembly path="bin\Debug\\example.dll"/>
</Config>
<Config name="test" configfile="App.Test.config">
<assembly path="bin\Debug\\example.dll"/>
</Config>
</NUnitProject>
Alle Datei / Pfade (der config und Baugruppendateien) sind in Bezug auf die Lage der nunit Datei. Auch die App.config, App.Dev.config usw. sind nur .net Konfigurationsdateien.
Als nächstes, wenn Sie es für eine bestimmte Konfiguration laufen WANNE Sie es wie folgt
executenunit3-console.exe example.nunit /config:test
Weitere Informationen über das Format der Datei nunit https: // github.com/nunit/docs/wiki/NUnit-Project-XML-Format
Weitere Informationen über Befehlszeilenargumente http://www.nunit.org/index.php?p= consoleCommandLine & r = 2.2.5
NUnit3
erlaubt nun Parameter. Hier ist die Verwendung
nunit3-console [inputfiles] --params:Key=Value
Von der Dokumentation
- params | p = Parameter
Ein Testparameter in Form Name = Wert für den Verzehr durch Tests festgelegt. Mehrere Parameter sein kann angegeben, die durch Semikolons getrennt sind oder durch Wiederholung der Option --params mehrmals. Case-sensitive.
Hier ist, wie Sie den Parameter durch den Code zugreifen können:
var value= TestContext.Parameters.Get("Key", "DefaultValue");