2010-07-06 14 views
28

Ist es irgendwie möglich, über die Befehlszeile Werte an NUnit-Tests zu übergeben? Meine Tests verwenden eine bestimmte URL. Ich habe verschiedene Instanzen meines Codes unter verschiedenen URLs und möchte die URL über die Befehlszeile angeben. App.config ist keine Option, da ich die Tests für verschiedene URLs über eine Batchdatei ausführen möchte.Parameter über die Befehlszeile an NUnit übergeben

+0

Haben Sie versucht, Environment.GetCommandLineArgs zu verwenden? Hat es funktioniert? http://msdn.microsoft.com/en-us/library/system.environment.getcommandlinearengs.aspx – Paddyslacker

Antwort

2

Es scheint im Moment keine Lösung zu geben. Die beste Option besteht darin, NUnit-Projektdateien zu verwenden, Einstellungen dort zu ändern und die Lösungsdatei an den Runner zu übergeben.

26

Umgebungsvariable.

Verwenden Sie set von der Befehlszeile oder <setenv> von nant. Dann lesen Sie den Wert mit Environment.GetEnvironmentVariable().

0

ich ähnliches Problem hatte, die Antwort von Achim hat mich auf dem richtigen Weg, für andere Leser

eine Datei wie example.nunit wie folgt erstellen:

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

die All-Datei/Die Pfade (der Konfigurations- und Assemblydateien) beziehen sich auf den Speicherort der Nunit-Datei. Auch die App.config, App.Dev.config usw. sind nur. NET Config-Dateien.

Weiter, wenn Sie es für eine bestimmte Konfiguration laufen WANNE Sie es wie diese Informationen über das Format der nunit Datei

nunit3-console.exe example.nunit /config:test 

Mehr ausführen https://github.com/nunit/docs/wiki/NUnit-Project-XML-Format

Mehr Infos über Kommandozeilenargumente http://www.nunit.org/index.php?p=consoleCommandLine&r=2.2.5

+0

@Achim Versucht, die obige Methode durch Hinzufügen von Configs in Nunit-Datei, sondern löst Fehlermeldung - Kann Fixture nicht finden. \ nunit-console-x86.exe $ env_config/config: CI/run: $ feature $ dll_dir/result = $ result_dir – ReuseAutomator

+0

@Marteen Kieft Kannst du mir helfen mit der obigen Frage Ich bin konfrontiert – ReuseAutomator

+0

@ReuseAutomator: Es scheint, dass es etwas in Ihrem Projekt und nichts spezifisch für diese Konfiguration der Konfiguration. Sie können tatsächlich ohne diese Konfiguration direkt Tests ausführen, indem Sie Folgendes ausführen: nunit3-console.exe mytest.dll Sie erhalten möglicherweise den gleichen Fehler, so dass Sie überprüfen möchten: Hat Ihre Testklasse ein TestFixtion-Attribut auf sie Beginne deine Klasse mit Public (also public mytestclass {..} statt nur class (ohne die Öffentlichkeit). Wenn du immernoch damit konfrontiert bist, stell hier eine Frage und zeige mich darauf :) –

Verwandte Themen