È in qualche modo possibile passare i valori ai test NUnit tramite la riga di comando? I miei test utilizzano un determinato URL. Ho diverse istanze del mio codice su URL diversi e vorrei specificare l'URL tramite la riga di comando. App.config non è un'opzione, perché voglio eseguire i test per URL diversi tramite un file batch.Passare i parametri tramite riga di comando a NUnit
risposta
Non sembra esserci alcuna soluzione al momento. La migliore opzione è quella di utilizzare i file di progetto NUnit, modificare le impostazioni lì e passare il file della soluzione al corridore.
Variabile di ambiente.
Utilizzare set
dalla riga di comando o <setenv>
da nant. Quindi leggere il valore utilizzando Environment.GetEnvironmentVariable()
.
avevo problema simile, la risposta di Achim mi ha messo sulla strada giusta, per gli altri lettori
Creare un file come example.nunit come questo:
<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>
Tutto il file/i percorsi (dei file config e assembly) sono relativi alla posizione del file nunit. Anche App.config, App.Dev.config, ecc. Sono solo file di configurazione .net.
successivo quando si Wanne esegue per un certo configurazione si esegue in questo modo
nunit3-console.exe example.nunit /config:test
Maggiori informazioni sul formato del file NUnit https://github.com/nunit/docs/wiki/NUnit-Project-XML-Format
Maggiori informazioni su argomenti della riga di comando http://www.nunit.org/index.php?p=consoleCommandLine&r=2.2.5
@Achim Hai provato il metodo sopra riportato aggiungendo configurazioni nel file nunit, ma genera un messaggio di errore - Impossibile trovare Fixture. \ nunit-console-x86.exe $ env_config/config: CI/run: $ feature $ dll_dir/result = $ result_dir – ReuseAutomator
@Marteen Kieft Puoi aiutarmi con il problema precedente Sto affrontando – ReuseAutomator
@ReuseAutomator: Sembra che sia qualcosa all'interno del tuo progetto e nulla di specifico per questa configurazione di configurazione. È possibile in realtà senza questa configurazione di configurazione eseguire direttamente i test eseguendo: nunit3-console.exe mytest.dll Si ottiene probabilmente lo stesso errore, quindi è possibile controllare: La classe di test ha un attributo testfixture su di esso Inizia la tua classe con Public (quindi public mytestclass {..} invece che solo class (senza pubblico). Se sei ancora di fronte, crea una domanda qui e indicami :) –
Hai provato a utilizzare Environment.GetCommandLineArgs? Ha funzionato? http://msdn.microsoft.com/en-us/library/system.environment.getcommandlineargs.aspx – Paddyslacker