dotnet test

Dieses Thema gilt für: ✓ .NET Core 1.x .NET Core 2.x

Name

dotnet test: .NET-Testtreiber, der verwendet wird, um Komponententests auszuführen.

Übersicht

dotnet test [<PROJECT>] [-a|--test-adapter-path] [-c|--configuration] [--collect] [-d|--diag] [-f|--framework] [--filter] [-l|--logger] [--no-build] [--no-restore] [-o|--output] [-r|--results-directory] [-s|--settings] [-t|--list-tests] [-v|--verbosity]
dotnet test [-h|--help]

Beschreibung

Der Befehl dotnet test wird zum Ausführen von Komponententests in einem bestimmten Projekt verwendet. Komponententests sind Konsolenanwendungsprojekte, die Abhängigkeiten vom Komponententest-Framework (z.B. MSTest, NUnit oder xUnit) und dotnet-Test Runner für das Komponententest-Framework aufweisen. Sie werden als NuGet-Pakete verpackt und als gewöhnliche Abhängigkeiten für das Projekt wiederhergestellt.

Testprojekte müssen auch den Test Runner angeben. Dieser wird mit einem normalen <PackageReference>-Element angegeben, wie in der folgenden Beispielprojektdatei gezeigt:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netcoreapp1.1</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" />
    <PackageReference Include="xunit" Version="2.2.0" />
    <PackageReference Include="xunit.runner.visualstudio" Version="2.2.0" />
  </ItemGroup>

</Project>

Argumente

PROJECT

Gibt den Pfad des Testprojekts an. Wenn nicht angegeben, wird standardmäßig das aktuelle Verzeichnis angegeben.

Optionen

-a|--test-adapter-path <PATH_TO_ADAPTER>

Verwenden Sie die benutzerdefinierten Testadapter aus dem angegebenen Pfad im Testlauf.

-c|--configuration {Debug|Release}

Legt die Buildkonfiguration fest. Der Standardwert ist Debug, aber die Konfiguration des Projekts könnte diese SDK-Standardeinstellung überschreiben.

--collect <DATA_COLLECTOR_FRIENDLY_NAME>

Aktiviert den Datensammler für den Testlauf. Weitere Informationen finden Sie unter Monitor and analyze test run (Überwachen und Analysieren eines Testlaufs).

-d|--diag <PATH_TO_DIAGNOSTICS_FILE>

Aktiviert den Diagnosemodus für die Testplattform und schreibt Diagnosemeldungen in die angegebene Datei.

-f|--framework <FRAMEWORK>

Sucht nach Testbinärdateien für ein bestimmtes Framework.

--filter <EXPRESSION>

Filtert Tests im aktuellen Projekt mithilfe des angegebenen Ausdrucks heraus. Weitere Informationen finden Sie im Abschnitt Details zu Filteroptionen. Weitere Informationen und Beispiele für die Verwendung der selektiven Komponententestfilterung finden Sie unter Ausführen von selektiven Komponententests.

-h|--help

Druckt eine kurze Hilfe für den Befehl.

-l|--logger <LoggerUri/FriendlyName>

Gibt eine Protokollierung für die Testergebnisse an.

--no-build

Erstellt das Testprojekt nicht vor der Ausführung.

--no-restore

Führt kein implizites Wiederherstellen durch, wenn der Befehl ausgeführt wird

-o|--output <OUTPUT_DIRECTORY>

Verzeichnis, in dem die auszuführenden Binärdateien zu finden sind.

-r|--results-directory <PATH>

Das Verzeichnis, in dem die Testergebnisse gespeichert werden. Das angegebene Verzeichnis wird erstellt, wenn es noch nicht vorhanden ist.

-s|--settings <SETTINGS_FILE>

Einstellungen, die beim Ausführen von Tests verwendet werden.

-t|--list-tests

Listen Sie alle ermittelten Tests im aktuellen Projekt auf.

-v|--verbosity <LEVEL>

Legt den Ausführlichkeitsgrad für den Befehl fest. Zulässige Werte sind q[uiet], m[inimal], n[ormal], d[etailed] und diag[nostic].

Beispiele

Führen Sie die Tests im Projekt im aktuellen Verzeichnis durch:

dotnet test

Führen Sie die Tests im Projekt test1 durch:

dotnet test ~/projects/test1/test1.csproj

Details zu Filteroptionen

--filter <EXPRESSION>

<Expression> weist das Format <property><operator><value>[|&<Expression>] auf.

<property> ist ein Attribut von Test Case. Im Folgenden werden die Eigenschaften aufgeführt, die von gängigen Frameworks für Komponententests unterstützt werden:

Testframework Unterstützte Eigenschaften
MSTest
  • FullyQualifiedName
  • Name
  • ClassName
  • Priorität
  • TestCategory
Xunit
  • FullyQualifiedName
  • DisplayName
  • Merkmale

<operator> beschreibt die Beziehung zwischen der Eigenschaft und dem Wert:

Operator Funktion
= Genaue Übereinstimmung
!= Keine genaue Übereinstimmung
~ Enthält

<value> ist eine Zeichenfolge. Bei allen Suchvorgängen ist die Groß-/Kleinschreibung nicht relevant.

Ein Ausdruck ohne <operator> gilt automatisch als contains für die FullyQualifiedName-Eigenschaft (dotnet test --filter xyz ist beispielsweise identisch mit dotnet test --filter FullyQualifiedName~xyz).

Ausdrücke können mit bedingten Operatoren verknüpft werden:

Operator Funktion
| ODER
& UND

Sie können Ausdrücke in Klammern einschließen, wenn Sie bedingte Operatoren verwenden (Beispiel: (Name~TestMethod1) | (Name~TestMethod2)).

Weitere Informationen und Beispiele für die Verwendung der selektiven Komponententestfilterung finden Sie unter Ausführen von selektiven Komponententests.

Siehe auch

Frameworks und Ziele
.NET Core Runtime-ID (RID)-Katalog