2011-03-15 2 views
5

J'ai jeté un coup d'œil sur SO et sur le Web depuis un certain temps et j'ai du mal à trouver des informations pour configurer mon projet C# pour les tests unitaires.Utilisation de NUnit avec Visual C# Express 2010 et .net 4

J'ai commencé sur le site principal de NUnit http://www.nunit.org, le téléchargement comprend une interface graphique pour exécuter vos tests unitaires, des sons de menthe. Ce n'est que lorsque j'essaie de pointer l'interface graphique vers mon fichier .exe, que j'obtiens une erreur indiquant immédiatement que NUnit n'est pas conçu pour être exécuté avec ce framework. Cela m'a fait penser que peut-être NUnit ne fonctionne pas avec. Net 4. Apparemment, beaucoup de gens en ligne semblent dire qu'ils exécutent des tests unitaires NUnit avec. Net 4 .... bien sûr, ils ne semblent pas continuez à dire comment.

En cliquant sur google J'ai trouvé ce qui semble être l'un des principaux membres du développement NUnit est un mec appelé Charlie Poole. J'ai trouvé qu'il avait un tableau de bord ici: https://launchpad.net/nunit-xtp. Les numéros de version sont plus récents que sur le site principal de NUnit. Quand j'ai téléchargé le projet cependant, c'est juste la base de code et la solution pour le cadre de NUnit sans interface graphique. Il y a un coureur de ligne de commande inclus mais j'ai vraiment besoin de quelque chose de visuel. Nous avons des équipes de jetbrains en tant que BMS, alors je suis en train d'essayer d'intégrer NUnit dans le pipeline de construction. Si quelqu'un peut faire la lumière sur la façon dont NUnit travaille avec une édition spéciale de C# qui serait merveilleusement utile. Editer: J'ai l'équipe BMS qui exécute les tests maintenant, de sorte que la partie n'est plus un problème. Cependant, attendre la construction à chaque fois juste pour trouver une erreur NullException ou quelque chose ne la coupe pas vraiment. Je dois faire fonctionner le coureur de l'interface graphique. J'ai trouvé cette question NUnit isn't running Visual Studio 2010 code mais même cela ne le fixe pas pour moi. L'erreur a maintenant mis à jour pour lire la version v4.0.30319, de sorte que les changements de configuration ont pris effet. La même vieille erreur cependant :(

Répondre

3

Bon, je l'ai résumé, il y a une question très similaire ici: NUnit isn't running Visual Studio 2010 code

Seul ce qu'il ne mentionne pas, c'est qu'il existe plusieurs fichiers de configuration pour NUnit. J'ai juste supposé qu'il suffirait d'éditer nunit.exe.config. Cela a effectivement mis à jour les paramètres comme je l'ai vu dans le message d'erreur. Cependant, le runner nunit gui doit utiliser l'un des autres fichiers .config multiples. Je les ai simplement tous parcourus et ajouté les deux paramètres requis.

Assurez-vous que vous exécutez le fichier .exe correct. L'un est appelé "nunit.exe" et il semble être le bon à utiliser. L'autre s'appelle "nunit-x86.exe" et si votre application est en 32bit, vous devez exécuter celle-ci. Si "nunit.exe" était les noms "nunit64.exe" je pense que je l'aurais remarqué beaucoup plus tôt.

Vous devez également vous assurer que vous vérifiez que le numéro de version du CLR correspond au paramètre que vous collez dans ces fichiers de configuration. Utilisez ce lien pour définir votre numéro de version actuel du CLR. How do I find out what CLR i am using? Je suis Microsoft Visual C# 2010 Express et mon numéro de version CLR est v4.0.30319

0

Les tests unitaires doivent être dans un ensemble séparé (de type bibliothèque de classes) .Si vous pointez NUnit vers cet assembly, il fonctionnera.Il en va de même pour le coureur de ligne de commande (qui est normalement utilisé dans les processus de construction automatisés).

+0

Oui j'ai essayé cela. J'ai mes tests dans un projet séparé dans la même solution. Si j'essaie d'ouvrir le fichier .dll avec nunit.exe, j'obtiens la même erreur. "Vous essayez peut-être de charger un assembly construit avec une version ultérieure du CLR que la version sous laquelle NUnit est actuellement exécuté (2.0.50727) ou en essayant de charger un assembly 64 bits dans un processus 32 bits. " – DrLazer

+0

Vous devez utiliser le programme de test .net 4.0, vous utilisez actuellement le .net 2.0.Quelle est la version de NUnit utilisez-vous? sélectionnez le runtime 4.0 dans Fichier -> Sélectionnez Runtime? – Femaref

+0

Yep! File ->. net 4.0, Fichier-> ouvrez le projet ..... même erreur Je pense que le numéro dans l'erreur est peut-être un numéro de version CLR – DrLazer

0

la valeur par défaut NUnit distro comprend un coureur GUI appelé « nunit.exe ». Si vous utilisez, je tournerai ma cible de débogage sur mon ensemble de test pour charger le coureur de l'interface avec la configuration appropriée.

+0

Salut Ritch merci pour la réponse.Pourriez-vous élaborer un peu sur cette réponse.Je ne suis pas sûr de savoir ce que vous entendez par "cible de débogage". – DrLazer

Questions connexes