9
votes

Sur OSX avec monodevelop, exécutez des tests Nunit de la ligne Terminal / Command

étant donné que je crée une bibliothèque de test C # nunit appelée trytestesting code> dans monodevelop (MD) (3.0.4.6) sur OSX, comment dois-je exécuter ces tests à partir du terminal / de la ligne de commande (de sorte que Je peux les ajouter à une construction automatisée)?

Je sais que la formule générale est la suivante: p> xxx pré>

ou p> xxx pré> Cependant, cela est insuffisant que seul l'environnement créé lors de l'installation de monodevelop. P>

i Obtenir la sortie et l'erreur suivantes: P>

NUnit version 2.4.8
Copyright (C) 2002-2007 Charlie Poole.
Copyright (C) 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov.
Copyright (C) 2000-2002 Philip Craig.
All Rights Reserved.

Runtime Environment - 
OS Version: Unix 12.1.0.0
CLR Version: 2.0.50727.1433 ( 2.10.9 (tarball Mon May  7 20:25:51 EDT 2012) )

Missing method .ctor in assembly /private/var/folders/r6/wqmfjz8142z0z9vcg_7k9y140000gn/T/nunit20/ShadowCopyCache/3688_634830482326369170/Tests/assembly/shadow/52c5f76b/6c545c94_3e91abff_00000001/TryTesting.dll, type NUnit.Framework.TestFixtureAttribute
Can't find custom attr constructor image: /private/var/folders/r6/wqmfjz8142z0z9vcg_7k9y140000gn/T/nunit20/ShadowCopyCache/3688_634830482326369170/Tests/assembly/shadow/52c5f76b/6c545c94_3e91abff_00000001/TryTesting.dll mtoken: 0x0a000003
Could not load file or assembly 'nunit.framework, Version=2.6.0.12051, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77' or one of its dependencies.
  • devrais-je supprimer les références automatiques à Nunit.framework et inclure ma propre distribution de Nunit dans mon arborescence source? LI>
  • ou, monodevelop a-t-il une version correspondante de Nunit-console que je devrais appeler? LI> ul> p>


1 commentaires

Sur OSX Monodevelop chargera les assemblages Nunit à partir de: /Aplications/monodevelop.app/contents/macos/lib/monodevelop / Addins / Nunit /, puis il exécutera les tests à partir du code à l'aide du RemoteTestrunner, d'où il appelle de manière plus récente Nunit-console .exe et ne pas avoir besoin. Je recommanderais que vous venez de mettre à jour les références à la nouvelle version de Nunit.


3 Réponses :


2
votes

Je rencontre aussi ce problème. Ensuite, je met à niveau la version de Nunit DLL. Enfin, je peux l'utiliser. Veuillez vous reporter au lien ci-dessous: http://nunit.org/?p=Download

merci.


0 commentaires

4
votes

Après de nombreuses expériences d'expérience, des tests d'unité d'exécution sur plusieurs environnements, je vous recommande de ne pas référencer nunit.framework fourni avec monodevelop (ou Xamarin Studio). Si vous ne courez jamais vos tests dans cet IDE, c'est bon. Toutefois, si vous exécutez vos tests à partir d'une ligne de commande, un environnement différent ou sur une boîte de construction, vous devriez avoir le contrôle de votre version de Nunit.

Ainsi, si vous créez une nouvelle bibliothèque Nunit à partir de la boîte de dialogue Nouveau projet, vous devez devrait supprimer le nunit.framework

Notez également que les coureurs de test Nunit sont très sensibles à la version de l'assemblage. Vous devez donc garder tous les binaires Nunit ensemble dans votre arbre source. (Nunit-2.6.1 / Bin pèse à 7 Mo)

Il convient également de noter qu'il existe d'autres moyens d'exécuter les tests, tels que le nant tâche , qui sera sensible à la version de la Nunit.

Ainsi, après avoir téléchargé Nunit 2.6.1 * au répertoire des packages sous mon répertoire de solution, la commande serait: xxx

* Note de bas de page: Je n'ai pas été capable d'utiliser Nunit 2.6.2 en raison d'une exception notimpleedException.


2 commentaires

Je me demande quelle est la dernière recommandation depuis que je n'ai pas de répertoire bin / dans packages / nunit.2.6.4 /


J'ai ajouté le package nunit.runners via Nuget, puis a pu utiliser packages / nunit.runners.2.6.4 / outils / nunit-console.exe



0
votes

J'ai eu un problème similaire.

J'ai supprimé la référence explicite (.dll) et j'ai installé Nunit par Paquet Nuget.

fonctionne pour moi.


0 commentaires