7
votes

Visual Studio 2012 Catégories de tests Hiérarchie (Explorateur de test)

Je teste un projet assez gros (C #, VS2012) et j'ai besoin d'organiser mon test de l'unité dans la hiérarchie testée (par exemple, j'ai maintenant 43 cas de test). J'ai vraiment besoin de la hiérarchie.

J'ai déjà des catégories de test définies, et l'explorateur de test montre des cas de test par des traits. J'ai des catégories de cette manière (un test comporte plusieurs catégories)

  • TESTATECASE01: entretestype, sous-estimer, SubsubTestType
  • ...
  • TESTCASE10: entretestype, sous-estimé, SubsubTestType
  • TesCase11: entretestype, SubTestype2, SubsubTestType2
  • ...
  • TESTCASE15: entretestype, sous-estimer2, SubsubTestType2

    défini comme ceci: xxx

    mais l'explorateur de test montre le suivant:

    • entretestype: Tous les tests ayant une catégorie entretestype
    • Subtestype: Tous les tests ayant la catégorie SubTestype
    • etc ...

      alors je manque vraiment la hiérarchie. J'ai essayé "Cat1 \ Cat2 \ Cat3" ou même avec /. Mais aucune hiérarchie affichée. Savez-vous comment le faire, ou un addon gratuit qui peut me faire pour moi?

      Je vais également avoir besoin de ce type de catégorisation, car nous exécutons souvent des tests à partir de la ligne de commande, et Mstest.exe peut exécuter des tests pour une catégorie (par exemple, tous entretestype ou sous-estimé). (Je m'envoie à Mstest parce que la moitié de l'équipe utilise VS2010). Mais la solution suffit pour VS2012.

      Merci d'avance.


6 commentaires

Avez-vous essayé d'utiliser listes de lecture de vs update 2? Je ne sais pas à quel point il sera facile de maintenir pour vous ces playlists, mais vous pouvez essayer si cela vous aidera vraiment.


Connaissez des listes de lecture, mais je cherche une catégorie hiérarchique (peut-être un addon). Mais peut-être que c'est impossible, j'étais juste curieux


Je ne l'ai pas vu auparavant. Vous pouvez essayer avec R #, si l'explorateur de test de l'unité R # peut le faire ou non, mais je ne pense pas que cela puisse.


J'ai essayé il y a environ 2 semaines au procès, je n'ai pas pu trouver l'option. L'autre problème avec R # qu'il n'est pas gratuit et remplace beaucoup de bonnes fonctionnalités VS.


CSEppento, pourriez-vous faire votre solution de test hiérarchique?


Non, mais veuillez noter que la question a plus de 2 ans et maintenant, il peut exister une autre solution.


4 Réponses :


1
votes

Test Explorer Affiche uniquement les groupes suivant la mise en page TestFilter / InnerestSts.

L'onglet Nouvel Explorer EXPLORIER est un conteneur générique. Utilisation d'adaptateurs spécifiques / Addon / Plugin Vous pouvez intégrer d'autres frameworks de test (Nunit, Xunit, Qunit, ...) dans l'explorateur de test ... mais ces adaptateurs doivent suivre l'interface de test Explorer. P>

Donc, il n'est pas pris en charge de manière nativement prise en charge par l'onglet Explorer Test, je n'ai pas trouvé dans le passé un moyen d'étendre l'onglet Explorer tester. P>

Peut-être qu'un autre cadre de test vous permettra d'avoir une hiérarchie mais ce sera dans Un autre onglet personnalisé et avec un autre attribut (TestCategory est un attribut mstest). P>

Juste pour information, vous pouvez combiner des traits dans la fenêtre de test Explorer de cette manière P>

Trait:"MainTestType1"  Trait:"SubTestType3"


3 commentaires

Je sais cela, je cherche une organisation hiérarchique (visuelle)


Comme je l'ai dit, il n'y a pas de point d'extensibilité dans l'onglet Native Test Explorer. Il ne supporte que le groupement et le filtrage.


Impossible de fermer une réponse: peut simplement supprimer. Une "réponse acceptable" n'implique pas nécessairement une solution au problème




6
votes

Comme ce que j'ai cherché n'est pas pris en charge pour le moment, j'ai fait la suivante suivante:

  • Construire le projet
  • Exécutez MStext pour tous les tests -> .trx de sortie
  • Programme Winforms / WPF simple, qui analyse .trx, obtient les cas de test et les affiche dans une arborescence
  • Nous pouvons maintenant exécuter Mstest à partir de cette application pour le nœud sélectionné -> crée une sortie .trx (qui peut être ouverte dans VS)

    J'ai utilisé .trx Parce que cette façon je n'ai pas à faire analyser l'assemblée, msest.exe le fait-il. Les catégories de test sont fabriquées de cette façon: xxx

    de sorte que c'est la solution de contournement qui est simple, un seul binaire et les développeurs peuvent également utiliser. Le problème de la playlist était qu'ils ne sont pas hiérarchiques ni ni.


1 commentaires

Pouvez-vous partager votre utilitaire, par exemple Sur github?



0
votes

Vous pouvez tricher un peu en faisant votre trait de niveau 2 une concaténation de vos deux valeurs de vos deux premiers niveaux. Donc, si le niveau 1 est animal et le niveau 2 est un mammifère, vous pourriez avoir un trait «animal.mammal». Dans l'explorateur de test, vous obtiendriez un nœud pour niveau1 [animal] , un autre pour niveau1 [usine] , puis un pour niveau2 [animal.tiger ] . Je crois que le filtre prend en charge les correspondances de sous-chaînes, de sorte que c'est un moyen de le trier. Vous n'obtenez toujours pas d'une vue d'arborescence (bien que si vous étiez lié et déterminé, vous pouvez essayer des caractères d'art ASCII étendus tels que la commande Old Dos Tree).

Vous avez toujours le problème que vous ne pouvez pas fusionner différents traits (de sorte que tous les oiseaux seraient ensemble dans la liste allumée).

D'autre part, appliquer une structure de hiérarchie tout en permettant à N-utilles de traits serait gênante. Il faudrait limiter les éléments d'être dans plusieurs trajets de la hiérarchie, détecter et rapporter des cycles, utilisez une commande d'arborescence sur (ou matricielle avec), qu'est-ce qui y est maintenant. De plus, lorsque vous refacteur le code et que vous souhaitez conserver les tests disposés en parallèle, une structure trop existante pourrait causer des maux de tête.


0 commentaires