Funktionen von dotCover

dotCover ist ein .NET Unit-Test- und Code-Coverage-Tool, das direkt aus Visual Studio und JetBrains Rider heraus funktioniert. Dieses Tool zeigt Ihnen, ob Ihr gesamter Code von Unit-Tests abgedeckt ist, bietet großartige Methoden zur Visualisierung von Code-Coverage und kann bei kontinuierlicher Integration eingesetzt werden. dotCover berechnet und meldet die Code-Coverage auf Anweisungsebene in Anwendungen für .NET Framework, .NET Core, Mono und Mono for Unity.

Visual-Studio- und Rider-Integration

Integration in Visual Studio und JetBrains Rider

dotCover ist ein Plug-In für Visual Studio und JetBrains Rider. Damit können Sie Code-Coverage analysieren und darstellen, ohne den Code-Editor verlassen zu müssen. Das Tool ermöglicht die Ausführung von Unit-Tests und die Analyse von Coverage-Ergebnissen direkt in der IDE und unterstützt drüber hinaus verschiedene Farbschemata sowie neue Symbole und Menüs.

dotCover unterstützt Visual Studio 2010 bis 2019 sowie JetBrains Rider 2018.2 und höher.

Unterstützung für macOS und Linux

Läuft unter Windows, macOS und Linux

Bei der Integration in Visual Studio oder JetBrains Rider unter Windows unterstützt dotCover Projekte für .NET Framework 1.0 bis 4.7 und .NET Core 1.0 bis 3.0. Unter macOS und Linux kann dotCover nur als Teil von JetBrains Rider verwendet werden, um die Code-Coverage von Projekten zu analysieren, die auf .NET Core 1.0 bis 3.0, Mono 5.10 und höher oder Mono for Unity 2018.3 und höher abzielen.

Gebündelte Unit-Testläufe

Ausführen und Verwalten von Unit-Tests

dotCover bringt einen Unit-Test-Runner mit, der auch in ReSharper, einem weiteren JetBrains-Tool für .NET-Entwickler, verwendet wird.

Der Runner arbeitet unter Visual Studio/JetBrains Rider, ermöglicht die Verwaltung von Unit-Tests mittels Sitzungen und unterstützt zahlreiche Unit-Test-Frameworks wie MSTest, NUnit, xUnit (alle sofort einsatzbereit) und MSpec (mittels Plug-In).

Fortlaufende Tests mit dotCover

Fortlaufende Tests

dotCover unterstützt fortlaufende Tests – einen modernen Workflow für Unit-Tests, bei dem dotCover in Echtzeit ermittelt, welche Unit-Tests von Ihren aktuellsten Code-Änderungen betroffen sind, und die betroffenen Tests für Sie automatisch erneut ausführt.

Je nach Ihren Einstellungen kann dotCover betroffene Tests beim Speichern einer Datei, beim Erstellen der Projektmappe oder auf Befehl ausführen.

Der Modus für fortlaufende Tests kann für eine beliebige Unit-Test-Sitzung aktiviert werden: somit können Sie wählen, welche Tests Sie fortlaufend ausführen möchten und welche auf traditionelle Weise ausgeführt werden sollen.

Ausführen und Verwalten von Unit-Tests mit dem Unit-Test-Runner von dotCover

Unit-Test-Coverage

Ein wichtiger Anwendungsfall von dotCover ist die Analyse der Unit-Test-Coverage. Dabei wird ermittelt, welche Teile der Anwendungslogik durch Unit-Tests abgedeckt sind und welche nicht.

Zusammen mit den Ergebnissen des Unit-Test-Runners zeigt dotCover eine Coverage-Struktur, die darstellt, in welchem Umfang ein bestimmtes Projekt, ein Namespace, Typ oder Typmember von Unit-Tests abgedeckt ist.

Coverage-Hervorhebung in Visual Studio und JetBrains Rider

Zur Visualisierung der Coverage-Daten kann dotCover Codezeilen direkt im Code-Editor hervorheben. Es besteht auch die Möglichkeit, bei der Hervorhebung zwischen Markierung und farbigem Hintergrund umzuschalten oder beides anzuzeigen.

Beachten Sie, dass die Hervorhebung nicht nur abgedeckten und nicht abgedeckten Code anzeigt, sondern auch die Ergebnisse der abdeckenden Unit-Tests. Grün bedeutet, dass die Tests erfolgreich waren; Rot bedeutet, dass mindestens ein Test, der die Anweisung abdeckt, fehlgeschlagen ist. Nicht abgedeckter Code wird grau dargestellt.

Navigation vom Code zu Unit-Tests, die diesen abdecken

Navigation zu abdeckenden Tests

dotCover bietet einen Befehl (und ein Tastenkürzel), um zu ermitteln, welche Tests eine bestimmte Codestelle abdecken, egal ob es sich dabei um eine Klasse, eine Methode oder eine Eigenschaft handelt.

Sie können diesen Befehl über den Texteditor von Visual Studio oder die Coverage-Struktur von dotCover aufrufen.

Zudem können Sie über ein Pop-up zu einem beliebigen der aufgelisteten Tests navigieren und diesen sofort ausführen oder einer bestehenden Unit-Test-Sitzung hinzufügen.

Hotspot-Ansicht von dotCover

Hotspot-Ansicht

Die Hotspot-Ansicht unterstützt Sie dabei, die risikoreichsten Methoden in Ihrer Projektmappe zu identifizieren. Hotspots werden unter Berücksichtigung einer hohen zyklomatischen Komplexität und einer niedrigen Unit-Test-Coverage von Methoden berechnet.

Coverage-Analysen auf einem Remote-Gerät ausführen

Code-Coverage per Fernzugriff

Führen Sie Coverage-Analysen von Unit-Tests auf einem Remote-Gerät aus und lassen Sie sich die Ergebnisse auf Ihrem lokalen Computer anzeigen. Sobald Sie mit der Coverage-Analyse beginnen, sendet dotCover Binärdateien und die Liste der auszuführenden Tests an einen Remote-Server.

Der Server führt alle Berechnungen aus und sendet anschließend das Coverage-Snapshot zurück an Ihr Gerät. Jetzt können Sie die Coverage-Ergebnisse auf dieselbe Art und Weise überprüfen wie nach einem lokalen Coverage-Durchlauf.

Attribut-Filter als Ergänzung für Coverage-Filter

Coverage-Filter

Manchmal benötigen Sie nicht die Coverage-Daten der gesamten Projektmappe. So möchten Sie z. B. die Coverage-Statistik für Code ignorieren, der als ObsoleteAttribute gekennzeichnet ist oder zu einem bestimmten Legacy-Projekt gehört.

In diesem Fall können Sie globale Coverage-Filter oder für die Projektmappe spezifische Filter einrichten, die auf einem Projekt, Namespace, Typ oder Namen eines Typmembers basieren. Es stehen auch Attribut-Filter zur Verfügung, die die Sammlung von Coverage-Informationen auf Code begrenzen, der bestimmte Attribute aufweist (oder nicht aufweist).

dotCover berechnet Statistiken umgehend neu, wenn Sie bestimmte Elemente aus den Coverage-Ergebnissen ausschließen

Ausschließen von Knoten aus der Coverage-Struktur

Alternativ zu den Filtern, die Sie im Voraus einrichten oder auf alle Projektmappen anwenden, die Sie öffnen, können Sie Elemente auch aus den Coverage-Ergebnissen ausschließen, während Sie an diesen arbeiten.

Wenn Sie bereits Coverage-Daten gesammelt haben, können Sie einen bestimmten Knoten aus der Coverage-Struktur ausschließen (und optional einen permanenten Coverage-Filter erstellen). Sobald Sie das tun, berechnet dotCover die Coverage-Statistik sofort neu.

dotCover exportiert Coverage-Daten in zahlreiche Formate, einschließlich XML, HTML und JSON

Mehrere Berichtsformate

dotCover ermöglicht die Verarbeitung von Coverage-Daten auf die von Ihnen gewünschte Weise.

Export-Optionen in verschiedene Formate (einschließlich HTML, XML, JSON und XML für NDepend) ermöglichen Ihnen, Coverage-Berichte mit dem restlichen Team zu teilen oder Informationen zur Coverage an externe Dienstleister weiterzugeben.

dotCover kann für manuelle Tests verwendet werden

Code-Coverage für manuelle Tests

Alternativ zur Unit-Test-Coverage kann dotCover auch Coverage-Analysen für .NET-Anwendungen vornehmen, die über Visual Studio ausgeführt wurden.

Dies ermöglicht QA-Ingenieuren, ein Beispielszenario auszuführen und zu prüfen, welche Teile des Codes während dieses Anwendungsbeispiels tatsächlich ausgeführt wurden. Die Option, Coverage-Snapshots zu speichern und zusammenzuführen, ermöglicht die Ausführung nicht-trivialer Testfälle.

Hervorhebung von Code-Coverage in TeamCity als Teil der kontinuierlichen Integration

Coverage-Analyse als Teil der kontinuierlichen Integration

dotCover ist die ideale Lösung für Server für kontinuierliche Integration. Dies gilt besonders für das Produkt TeamCity von JetBrains.

Einerseits kann dotCover mittels TeamCity-Plug-In für Visual Studio Coverage-Daten von einem TeamCity-Server beziehen, ohne die Coverage-Analyse auf einem lokalen Gerät auszuführen.

Andererseits ist die Coverage-Analyse-Engine von dotCover in einer kostenlosen Version von TeamCity enthalten. Dies ermöglicht die Verknüpfung der Ausführung von Coverage-Analysen mit dem Prozess der kontinuierlichen Integration sowie die Generierung von serverseitigen Coverage-Berichten. TeamCity kann die Ausgabe des Console Runners von dotCover erfassen und hebt dessen Fehler und Warnungen im Build-Protokoll hervor.

Download

Kostenlose 30-Tage-Testversion