2010-06-26 41 views
1

Je commence à avoir les griffes de BDD et de MSpec, mais je suis toujours très préoccupé par le fait que je suis incapable de déboguer mes tests/spécifications, et que je devez quitter l'EDI pour aller à un fichier de rapport html pour voir les résultats.BDD avec Machine.Specifications dans Visual Studio 2010

Actuellement, j'ai un événement post-construction configuré pour exécuter mspec.exe $(TargetFileName) --html “$(ProjectDir)Report.html”, mais il doit y avoir une meilleure façon de procéder.

Est-ce que quelqu'un sait tout bon add-ins, les coureurs de test ou quoi qui me permettra

  1. tests de débogage, au lieu de simplement les exécuter
  2. afficher les résultats des tests d'une manière agréable à l'intérieur de Visual Studio

(Note de bas. Je suis en cours d'exécution VS2010 Professional sous Windows 7, si cela importe)

Répondre

2

Il existe essentiellement trois options que vous avez:Vous pouvez configurer un outil personnalisé dans Outils | Outils externes pour démarrer mspec.exe avec l'assembly du projet en cours pour exécuter les contextes et générer le rapport HTML.

  • Installer TestDriven.Net et veiller à ce que Machine.Specifications.dll.tdnet et Machine.Specifications.TDNetRunner.dll sont dans la copie de votre projet de MSpec. Vous pouvez ensuite exécuter et déboguer vos contextes depuis le menu contextuel: "Exécuter Tests", "Exécuter avec | Débogueur" sans autre installation.

    Voici un exemple de ce à quoi ressemble pour tous mes projets.

  • Si vous utilisez ReSharper 4.1, 4.5, 5.0 ou le dernier EAP 5.1 (== beta) il y a des coureurs pour chacune de ces versions .

    Le ZIP download contient des fichiers batch qui installent le coureur pour chaque version respective de ReSharper. Le support de test de l'unité de ReSharper est assez étendu en termes de UI support des widgets/raccourcis, le rapport arborescence et le débogage.

    Si vous êtes un utilisateur dotTrace, vous pouvez également profiler depuis Visual Studio. dotCover (un autre produit JetBrains) vous permet de calculer les résultats de la couverture du code de vos exécutions MSpec .

    En plus de cela, vous obtenez toutes les fonctionnalités de codage et de navigation que ReSharper fournit. Sachez que seule la première option génère le rapport HTML en tant que TestDriven.Les coureurs Net et ReSharper ne prennent pas en charge la génération de rapports HTML. De mon point de vue, ce n'est pas un problème puisque les coureurs TD.Net et ReSharper proposent des mécanismes de reporting assez complets via l'interface utilisateur de Visual Studio.

    Une autre option qui pourrait fonctionner (je ne l'ai pas utilisée moi-même) est de tirer parti du support de Gallio que MSpec a. Gallio est un coureur/cadre pour plusieurs cadres de test; il pourrait aussi bien supporter le debug avec MSpec. Contactez @smaclell si vous avez des questions sur le support Gallio.

  • +0

    Merci! J'utilise actuellement l'approche 1, mais je ne suis pas trop heureux d'avoir à passer à firefox pour voir le rapport tout le temps. J'ai déjà installé TestDriven.NET et ReSharper, mais la seule sortie que je reçois à l'intérieur de VS est sous forme de texte brut dans la fenêtre de sortie. Appelez-moi exigeant, mais j'aimerais avoir de petites icônes vertes et rouges dans une liste de spécifications regroupées dans des groupes de sujets en expansion/en effondrement: P Y at-il un moyen d'y parvenir? Si oui, sur quoi clique-je? –

    +0

    Non, il n'y a aucun moyen d'afficher les rapports HTML après l'exécution des tests TD.Net ou ReSharper. Les deux outils n'ont pas les points d'extensibilité nécessaires pour que cela se produise. Je me demande pourquoi vous avez besoin d'afficher du HTML, cependant. Quel est l'avantage par rapport à la fenêtre de test d'unité de ReSharper qui affiche des icônes rouges/vertes pour les contextes? En ce qui concerne les groupes [Subject] dans ReSharper: Cela est faisable, mais il faudra un changement de code dans le runner ReSharper (plus, une option pour activer cette fonctionnalité). Nous acceptons les patchs ;-) –