2008-10-08 10 views
2

Dans un projet de test dans Visual Studio 2008 (Pro), j'ai créé un projet de test et je souhaite configurer les propriétés du projet pour donner un argument de ligne de commande aux tests. J'ai mis les propriétés, mais j'ai ensuite réalisé que je n'avais aucune idée de la façon d'utiliser l'argument.Obtention d'arguments de ligne de commande dans un test unitaire

Comment obtenez-vous les arguments de MSTest?

Répondre

1

Les tests VS 2008 sont compilés dans des DLL qui ne peuvent pas recevoir directement d'arguments de ligne de commande pour autant que je sache.

Vous pouvez ajouter un fichier de configuration 'app.config' pour la DLL et l'utiliser à la place. Il suffit de se méfier, mstest copie seulement les fichiers .config pour le conteneur de test en cours d'exécution.

si vous avez les éléments suivants ...

mytest.dll 
mytest.dll.config 
lib.dll 
lib.dll.config 

et vous faites référence à lib.dll de mytest.dll, lorsque vous exécutez les tests lib.dll.config ne seront pas copiés et votre test peut échouer parce que de cela.

+0

Cependant, si vous voulez lib.dll.config avec mytest.dll, vous ne devez pas créer un nouveau fichier app.config dans le projet MyTest, mais ajouter un lien vers le fichier app.config du projet Lib comme décrit ici http://stackoverflow.com/a/2746836/182371 –

0

Peut-être que vous pouvez utiliser GetCommandLine(). Edit: GetCommandLine() est une fonction win32, mais il devrait y avoir une fonction correspondante .Net pour cela.

Questions connexes