2011-02-14 3 views

Répondre

1

Techniquement, vous pouvez le faire, mais c'est très (!) Façon d'utiliser StyleCop. En premier lieu, vous devez apprendre à exécuter StyleCop à partir du code. Cette discussion contient des exemples qui peuvent aider à implémenter ceci: http://stylecop.codeplex.com/discussions/220546. Ensuite, vous pourrez créer un test unitaire qui énumérera et vérifiera tous les fichiers source dans l'emplacement spécifié. La mauvaise partie ici est que vous devrez spécifier cet emplacement en quelque sorte, et unit-test fonctionnera avec les codes sources au lieu de l'assemblage compilé (ce qui est plutôt inhabituel).

Mais de toute façon, je recommanderais de reconsidérer votre approche. Il n'est pas vraiment nécessaire de considérer l'erreur StyleCop comme des erreurs de compilation. Vous pouvez effectuer une analyse sur le serveur de construction et partager les résultats comme vous le souhaitez (la même chose à propos des tests unitaires) - tout est entre vos mains!

+1

Je reconnais que les erreurs StyleCop ne doivent pas être traitées comme des erreurs de compilation. Cependant, j'aimerais le voir fusionné avec notre CI et fournir une sorte de feedback au développeur. Les développeurs, y compris moi-même, ne verront presque jamais les artefacts attachés manuellement. Il en va de même pour la couverture de code, les tests de performance, etc. Nous avons besoin de feedback. Obtenir l'analyse stylecop dans un unittest, fournirait la rétroaction hors de la boîte. Je reconnais toutefois que ce n'est peut-être pas la bonne façon de le faire. – jaspernygaard

+0

Conclusion jusqu'à présent, est d'intégrer les avertissements StyleCop dans un artefact pour TeamCity. Peut-être développer une notification par e-mail ou similaire. – jaspernygaard

0

Je venais de l'inclure dans mon accumulation processus et de traiter une construction comme un échec s'il sont des avertissements (via un code de retour ou fourmi Nant ou quelque chose de similaire). Vous pouvez configurer ces outils pour cracher seulement les avertissements que vous voulez. Pourquoi avez-vous besoin de cela dans un test unitaire de toute façon?

+0

Il y a une grande différence entre traiter chaque règle d'analyse de code statique comme une erreur au moment de la compilation et dans le test unitaire. Au début d'une tâche, il sera très envahissant, si chaque règle stylecop génère une erreur - par ex. espaces doubles, commentaires manquants etc. Nous avons un check-in-dance, qui inclut l'étape StyleCop, mais beaucoup négligent cette étape (c'est une étape manuelle - je comprends pourquoi!). Si nous incluons l'analyse de code statique dans un unittest, elle sera soit capturée par l'exécution obligatoire d'unittests avant le checkin, soit par notre CI. – jaspernygaard

+0

Imho qui ne fera que gonfler Unit-Tests. Prenez un jour et ajustez les règles, puis intégrez-le dans votre cycle de construction. Vous pouvez également marquer les avertissements comme non pertinents si vous ne voulez pas qu'ils produisent une erreur. – Falcon