Question

Arrière-plan: Visual Studio 2008, C #, .Net 3.5.

J'ai plusieurs classes d'utilitaires qui ne sont tout simplement pas testables par unité. C’est principalement parce qu’ils interagissent avec les ressources (bases de données, fichiers, etc.).

Existe-t-il un moyen de décorer ces classes de sorte que le moteur de couverture de code de Visual Studio les ignore, afin de ne pas réduire le pourcentage de couverture de code?

Était-ce utile?

La solution

Il existe une réponse dans cet article sur la façon d'utiliser [Système. Diagnostics.DebuggerHidden] ou [ System.Diagnostics.DebuggerNonUserCode] Attributs pour exclure les méthodes de la couverture de code.

Mise à jour selon le commentaire de David:

Depuis .NET 4.0, il existe un attribut dédié à cela: [ExcludeFromCodeCoverage]

Autres conseils

Lorsque vous mettez à niveau votre projet vers .NET 4, vous obtenez le Classe ExcludeFromCodeCoverageAttribute .

Une des raisons pour laquelle vous souhaitez écrire des tests unitaires est de rendre votre code faiblement couplé. Vous pouvez lire cet article si vous souhaitez apprendre à écrire du code faiblement couplé (au cas où vous ne sauriez pas comment faire).

Dire que vous pouvez utiliser des outils tels que TypeMock pour vous aider à vous moquer de vos objets, même si vous ne les écrivez pas en utilisant le principe d'injection de dépendance .

TypeMock était le premier framework Mock que j'ai utilisé. Je passe à Rhino Mocks car avec TypeMock, je n'avais pas besoin de discipline pour écrire du code faiblement couplé.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top