Frage

. Hintergrund: Visual Studio 2008, C #, .NET 3.5

Ich habe eine Reihe von Utility-Klassen, die einfach nicht einheits prüfbar sind. Dies ist vor allem, weil sie mit Ressourcen (zum Beispiel Datenbanken, Dateien usw.) in Wechselwirkung treten.

Gibt es eine Weise, die ich diese Klassen dekorieren kann, so dass die Visual Studio Code Coverage-Engine sie ignoriert, so dass nicht den Code-Coverage-Prozentsatz ab?

War es hilfreich?

Lösung

Es gibt eine Antwort in diesem Artikel über die Verwendung [System. Diagnostics.DebuggerHidden] oder [ System.Diagnostics.DebuggerNonUserCode] Methoden von Code-Coverage auszuschließen Attribute.

Update per David Kommentar:

Wie von .NET 4.0 gibt es ein spezielles Attribut dafür ist: [ExcludeFromCodeCoverage]

Andere Tipps

Wenn Sie Ihr Projekt aktualisieren 4 auf .NET, werden Sie die ExcludeFromCodeCoverageAttribute Klasse .

Einer der Grund, warum Sie wollen Einheit-Tests schreiben, ist der Code lose gekoppelt zu machen. Sie können diesem Artikel lesen , wenn Sie daran interessiert sind, zu lernen, wie lose gekoppelten Code zu schreiben (falls Sie nicht wissen, wie).

Zu sagen, dass Sie versuchen können, wie Werkzeuge zu benutzen TypeMock , dass können Sie Ihre Objekte, auch wenn Sie helfen verspotten nicht schreiben sie Dependency Injection Prinzip verwendet wird.

TypeMock war die erste Mock-Framework I verwendet. Ich schalte auf Rhino Mocks weil mit TypeMock ich musste nicht Disziplin genug sein, um zu schreiben lose gekoppelten Code.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top