2010-07-06 7 views
28

Est-il possible de transmettre des valeurs aux tests NUnit via une ligne de commande? Mes tests utilisent une certaine URL. J'ai différentes instances de mon code sur différentes URL et je voudrais spécifier l'URL via la ligne de commande. App.config n'est pas une option, car je veux exécuter les tests pour différentes URL via un fichier batch.Transmettre les paramètres via la ligne de commande à NUnit

+0

Avez-vous essayé d'utiliser Environment.GetCommandLineArgs? Est-ce que ça a marché? http://msdn.microsoft.com/en-us/library/system.environment.getcommandlineargs.aspx – Paddyslacker

Répondre

2

Il semble n'y avoir aucune solution pour le moment. La meilleure option consiste à utiliser les fichiers de projet NUnit, à modifier les paramètres et à transmettre le fichier de solution au coureur.

26

Variable d'environnement.

Utilisez set depuis la ligne de commande ou <setenv> depuis nant. Ensuite, lisez la valeur en utilisant Environment.GetEnvironmentVariable().

0

j'avais problème similaire, la réponse de Achim me mettre sur la bonne voie, pour d'autres lecteurs

Créez un fichier comme example.nunit comme ceci:

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

Tout le fichier/Les chemins (des fichiers de configuration et d'assemblage) sont relatifs à l'emplacement du fichier nunit. Aussi App.config, App.Dev.config, etc. sont juste des fichiers de configuration .net.

Suivant lorsque vous Wanne exécutez pour une certaine configuration vous exécutez comme ce

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

Plus d'informations sur le format du fichier nunit https://github.com/nunit/docs/wiki/NUnit-Project-XML-Format

Plus d'informations sur les arguments de ligne de commande http://www.nunit.org/index.php?p=consoleCommandLine&r=2.2.5

+0

@Achim Essayé de faire la méthode ci-dessus en ajoutant des configs dans le fichier nunit, mais jette un message d'erreur - Impossible de localiser Fixture. \ nunit-console-x86.exe $ env_config/config: CI/run: $ fonctionnalité $ dll_dir/result = $ result_dir – ReuseAutomator

+0

@Marteen Kieft Pouvez-vous m'aider avec le problème ci-dessus je suis confronté – ReuseAutomator

+0

@ReuseAutomator: Il semble que ce soit quelque chose à l'intérieur de votre projet et rien de spécifique à cette configuration de configuration. Vous pouvez réellement sans cette configuration de configuration lancer directement les tests en exécutant: nunit3-console.exe mytest.dll Vous obtenez probablement la même erreur, donc vous pouvez vérifier: Votre classe de test a un attribut testfixture dessus Commencez votre cours avec Public (si public mytestclass {..} au lieu de seulement classe (sans le public) Si vous êtes toujours confronté, créez une question ici et pointez-moi :) –

Questions connexes