Dotnet-Test

Name

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

Übersicht

dotnet test [<PROJECT>] [-s|--settings] [-t|--list-tests] [--filter] [-a|--test-adapter-path] [-l|--logger] [-c|--configuration] [-f|--framework] [-o|--output] [-d|--diag] [--no-build] [-v|--verbosity] [-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>

Optionen

PROJECT

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

-h|--help

Druckt eine kurze Hilfe für den Befehl.

-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.

--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.

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

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

-l|--logger <LoggerUri/FriendlyName>

Gibt eine Protokollierung für die Testergebnisse an.

-c|--configuration <CONFIGURATION>

Konfiguration für die Erstellung. Der Standardwert ist Debug, aber die Konfiguration des Projekts könnte diese SDK-Standardeinstellung überschreiben.

-f|--framework <FRAMEWORK>

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

-o|--output <OUTPUT_DIRECTORY>

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

-d|--diag <PATH_TO_DIAGNOSTICS_FILE>

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

--no-build

Erstellt das Testprojekt nicht vor der Ausführung.

-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