dotnet testdotnet test

Dieses Thema gilt für: ✓ .NET Core SDK 1.x .NET Core SDK 2.0This topic applies to: ✓ .NET Core SDK 1.x .NET Core SDK 2.0

nameName

dotnet test: .NET-Testtreiber, der verwendet wird, um Komponententests auszuführen.dotnet test - .NET test driver used to execute unit tests.

ÜbersichtSynopsis

dotnet test [<PROJECT>] [-a|--test-adapter-path] [--blame] [-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]

descriptionDescription

Der Befehl dotnet test wird zum Ausführen von Komponententests in einem bestimmten Projekt verwendet.The dotnet test command is used to execute unit tests in a given project. Mit dem dotnet test-Befehl wird die Testlauf-Konsolenanwendung gestartet, die für ein Projekt angegeben wurde.The dotnet test command launches the test runner console application specified for a project. Durch den Testlauf werden Tests ausgeführt, die für ein Komponententestframework (z.B. MSTest, NUnit oder xUnit) definiert wurden, und der Erfolg oder Misserfolg der einzelnen Testausführungen wird gemeldet.The test runner executes the tests defined for a unit test framework (for example, MSTest, NUnit, or xUnit) and reports the success or failure of each test. Der Testlauf und die Komponententestbibliothek werden als NuGet-Pakete gepackt und als gewöhnliche Abhängigkeiten für das Projekt wiederhergestellt.The test runner and the unit test library are packaged as NuGet packages and are restored as ordinary dependencies for the project.

In Testprojekten wird der Testlauf mittels eines normalen <PackageReference>-Elements angegeben, wie in der folgenden Beispielprojektdatei gezeigt wird:Test projects specify the test runner using an ordinary <PackageReference> element, as seen in the following sample project file:

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

ArgumenteArguments

PROJECT

Der Pfad zum Testprojekt.Path to the test project. Wenn er nicht angegeben ist, wird standardmäßig das aktuelle Verzeichnis ausgewählt.If not specified, it defaults to current directory.

OptionenOptions

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

Verwenden Sie die benutzerdefinierten Testadapter aus dem angegebenen Pfad im Testlauf.Use the custom test adapters from the specified path in the test run.

--blame

Führt die Tests im blame-Modus aus.Runs the tests in blame mode. Diese Option hilft beim Isolieren der fehlerhaften Tests, die den Absturz des Testhosts verursachen.This option is helpful in isolating the problematic tests causing test host to crash. In dem aktuellen Verzeichnis wird eine Ausgabedatei als Sequence.xml erstellt, die die Reihenfolge der ausgeführten Tests vor dem Absturz erfasst.It creates an output file in the current directory as Sequence.xml that captures the order of tests execution before the crash.

-c|--configuration {Debug|Release}

Legt die Buildkonfiguration fest.Defines the build configuration. Der Standardwert ist Debug, aber die Konfiguration des Projekts könnte diese SDK-Standardeinstellung überschreiben.The default value is Debug, but your project's configuration could override this default SDK setting.

--collect <DATA_COLLECTOR_FRIENDLY_NAME>

Aktiviert den Datensammler für den Testlauf.Enables data collector for the test run. Weitere Informationen finden Sie unter Monitor and analyze test run (Überwachen und Analysieren eines Testlaufs).For more information, see Monitor and analyze test run.

-d|--diag <PATH_TO_DIAGNOSTICS_FILE>

Aktiviert den Diagnosemodus für die Testplattform und schreibt Diagnosemeldungen in die angegebene Datei.Enables diagnostic mode for the test platform and write diagnostic messages to the specified file.

-f|--framework <FRAMEWORK>

Sucht nach Testbinärdateien für ein bestimmtes Framework.Looks for test binaries for a specific framework.

--filter <EXPRESSION>

Filtert Tests im aktuellen Projekt mithilfe des angegebenen Ausdrucks heraus.Filters out tests in the current project using the given expression. Weitere Informationen finden Sie im Abschnitt Details zu Filteroptionen.For more information, see the Filter option details section. Weitere Informationen und Beispiele zur Verwendung von selektiven Komponententestfiltern finden Sie unter Ausführen von selektiven Komponententests.For more information and examples on how to use selective unit test filtering, see Running selective unit tests.

-h|--help

Druckt eine kurze Hilfe für den Befehl.Prints out a short help for the command.

-l|--logger <LoggerUri/FriendlyName>

Gibt eine Protokollierung für die Testergebnisse an.Specifies a logger for test results.

--no-build

Erstellt das Projekt nicht vor der Ausführung.Doesn't build the test project before running it. Das --no-restore-Flag wird implizit festgelegt.It also implicit sets the --no-restore flag.

--no-restore

Führt keine implizite Wiederherstellung aus, wenn der Befehl ausgeführt wird.Doesn't execute an implicit restore when running the command.

-o|--output <OUTPUT_DIRECTORY>

Verzeichnis, in dem die auszuführenden Binärdateien zu finden sind.Directory in which to find the binaries to run.

-r|--results-directory <PATH>

Das Verzeichnis, in dem die Testergebnisse gespeichert werden.The directory where the test results are going to be placed. Wenn das Verzeichnis noch nicht vorhanden ist, wird es erstellt.If the specified directory doesn't exist, it's created.

-s|--settings <SETTINGS_FILE>

Einstellungen, die beim Ausführen von Tests verwendet werden.Settings to use when running tests.

-t|--list-tests

Listen Sie alle ermittelten Tests im aktuellen Projekt auf.List all of the discovered tests in the current project.

-v|--verbosity <LEVEL>

Legt den Ausführlichkeitsgrad für den Befehl fest.Sets the verbosity level of the command. Zulässige Werte sind q[uiet], m[inimal], n[ormal], d[etailed] und diag[nostic].Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic].

BeispieleExamples

Führen Sie die Tests im Projekt im aktuellen Verzeichnis durch:Run the tests in the project in the current directory:

dotnet test

Führen Sie die Tests im Projekt test1 durch:Run the tests in the test1 project:

dotnet test ~/projects/test1/test1.csproj

Details zu FilteroptionenFilter option details

--filter <EXPRESSION>

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

<property> ist ein Attribut von Test Case.<property> is an attribute of the Test Case. Im Folgenden werden die Eigenschaften aufgeführt, die von gängigen Frameworks für Komponententests unterstützt werden:The following are the properties supported by popular unit test frameworks:

TestframeworkTest Framework Unterstützte EigenschaftenSupported properties
MSTestMSTest
  • FullyQualifiedNameFullyQualifiedName
  • nameName
  • ClassNameClassName
  • PrioritätPriority
  • TestCategoryTestCategory
xUnitxUnit
  • FullyQualifiedNameFullyQualifiedName
  • DisplayNameDisplayName
  • MerkmaleTraits

<operator> beschreibt die Beziehung zwischen der Eigenschaft und dem Wert:The <operator> describes the relationship between the property and the value:

OperatorOperator FunktionFunction
= Genaue ÜbereinstimmungExact match
!= Keine genaue ÜbereinstimmungNot exact match
~ EnthältContains

<value> ist eine Zeichenfolge.<value> is a string. Bei allen Suchvorgängen ist die Groß-/Kleinschreibung nicht relevant.All the lookups are case insensitive.

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).An expression without an <operator> is automatically considered as a contains on FullyQualifiedName property (for example, dotnet test --filter xyz is same as dotnet test --filter FullyQualifiedName~xyz).

Ausdrücke können mit bedingten Operatoren verknüpft werden:Expressions can be joined with conditional operators:

OperatorOperator FunktionFunction
| ODEROR
& UNDAND

Sie können Ausdrücke in Klammern einschließen, wenn Sie bedingte Operatoren verwenden (z.B. (Name~TestMethod1) | (Name~TestMethod2)).You can enclose expressions in parenthesis when using conditional operators (for example, (Name~TestMethod1) | (Name~TestMethod2)).

Weitere Informationen und Beispiele zur Verwendung von selektiven Komponententestfiltern finden Sie unter Ausführen von selektiven Komponententests.For more information and examples on how to use selective unit test filtering, see Running selective unit tests.

Siehe auchSee also

Frameworks und ZieleFrameworks and Targets
.NET Core Runtime-ID (RID)-Katalog.NET Core Runtime IDentifier (RID) catalog