dotnet testdotnet test

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

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

BeschreibungDescription

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. 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.Unit tests are console application projects that have dependencies on the unit test framework (for example, MSTest, NUnit, or xUnit) and the dotnet test runner for the unit testing framework. Sie werden als NuGet-Pakete verpackt und als gewöhnliche Abhängigkeiten für das Projekt wiederhergestellt.These are packaged as NuGet packages and are restored as ordinary dependencies for the project.

Testprojekte müssen auch den Test Runner angeben.Test projects also must specify the test runner. Dieser wird mit einem normalen <PackageReference>-Element angegeben, wie in der folgenden Beispielprojektdatei gezeigt:This is specified 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

Gibt den Pfad des Testprojekts an.Specifies a path to the test project. Wenn nicht angegeben, wird standardmäßig das aktuelle Verzeichnis angegeben.If omitted, 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.

-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 für die Verwendung der selektiven Komponententestfilterung finden Sie unter Ausführen von selektiven Komponententests.For additional 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 Testprojekt nicht vor der Ausführung.Does not build the test project prior to running it.

--no-restore

Führt kein implizites Wiederherstellen durch, wenn der Befehl ausgeführt wirdDoesn't perform 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. Das angegebene Verzeichnis wird erstellt, wenn es noch nicht vorhanden ist.The specified directory will be created if it doesn't exist.

-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 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 für die Verwendung der selektiven Komponententestfilterung finden Sie unter Ausführen von selektiven Komponententests.For additional 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