2009-04-20 14 views
0

En utilisant Visual Studio/C#, j'ai récemment débugué des tests de nunit, et j'essaie maintenant de m'assurer que si nous branchons le code que les tests unitaires n'arrêtent pas de fonctionner en mode debug.L'utilisation de noms de macros Visual Studio pour lancer des applications externes ne fonctionne pas?

Je possède ce travail en modifiant les propriétés du projet pour lancer NUnit comme un programme externe:

C:\Program Files\NUnit 2.4.8\bin\nunit-console.exe 

..et puis tournerai ma config .nunit:

D:\SomePath\branches\NewFeatureBranch\TestDSP.nunit 

Alors maintenant, je voudrais pour rendre ce chemin générique. Je pensais que quelque chose comme ça devrait fonctionner:

$(SolutionDir)\$(ProjectName).nunit 

... mais NUnit se ferme avant d'exécuter le test. Ces variables ne semblent pas obtenir envoyé mais comme une application console rapide me dit:

arg[0] = D:\Projects\Tools\ArgDebugger\Debug\ArgDebugger.exe 
arg[1] = $(SolutionDir)\$(ProjectName).nunit 

Y at-il une autre façon que je peux nourrir cette information? Eh bien, quand je construis deux applications de la console.

Répondre

0

App2 est débogué avec App1. Dans App1 System.IO.Directory.GetCurrentDirectory() donne

Solution \ Project \ Bin \ Debug de App2.

mettre donc .. \ .. \ .. \ dans le répertoire de travail de App2 me donne

Solution \ de App2. Donc, vous pouvez alors changer le chemin vers le fichier .nunit pour être ./TestDSP.nunit

+0

C'est certainement une option - merci. Toujours sentir légèrement cludgy, mais certainement mieux que les chemins codés en dur! –

+0

Tant que vos chemins sont codés en dur, avoir plusieurs branches ou des copies d'une branche fonctionnera. –

+0

Je suis d'accord; ça va certainement marcher pour ma structure de projet actuelle :-) –