Freigeben über


Erste Schritte mit MSTest

Die empfohlene Methode zum Erstellen eines MSTest-Projekts ist die Verwendung des MSTest.Sdk, eines MSBuild-Projekt-SDK , das eine erstklassige Erfahrung zum Testen mit MSTest bietet. Sie enthält alle empfohlenen Standardwerte und vereinfacht die Projektkonfiguration.

Erstellen eines Projekts mit MSTest.Sdk

Um ein MSTest-Projekt zu erstellen, setzen Sie das Attribut MSTest.Sdk mit der MSTest-Version in Ihrer Projektdatei fest:

<Project Sdk="MSTest.Sdk/4.1.0">

  <PropertyGroup>
    <TargetFramework>net10.0</TargetFramework>
  </PropertyGroup>

</Project>

Hinweis

4.1.0 wird als Beispiel angegeben und kann durch jede neuere Version ersetzt werden.

Um die Versionsverwaltung für mehrere Testprojekte zu vereinfachen, empfehlen wir die Angabe der SDK-Version in einer global.json Datei auf Lösungsebene:

<Project Sdk="MSTest.Sdk">

  <PropertyGroup>
    <TargetFramework>net10.0</TargetFramework>
  </PropertyGroup>

</Project>
{
    "msbuild-sdks": {
        "MSTest.Sdk": "4.1.0"
    }
}

Weitere Informationen finden Sie unter Verwenden von MSBuild-Projekt-SDKs.

Wenn Sie build das Projekt ausführen, werden alle erforderlichen Komponenten mithilfe des standardmäßigen NuGet-Workflows wiederhergestellt und installiert. ** Sie können dasselbe Tooling (z. B. dotnet test oder Visual Studio) wie bei jedem anderen Testprojekt verwenden.

Tipp

Standardmäßig verwendet MSTest.Sdk den MSTest runner mit Microsoft.Testing.Platform. Erweiterte Konfigurationsoptionen wie Erweiterungsprofile, Wechseln zu VSTest oder Integration in Aspire und Playwright finden Sie unter MSTest SDK-Konfiguration.

Alternative: Verwenden des MSTest NuGet-Pakets

Wenn Sie MSTest.Sdk nicht verwenden möchten, können Sie das MSTest NuGet-Metapaket verwenden, das Folgendes umfasst:

  • MSTest.TestFramework, MSTest.TestAdapterund MSTest.Analyzers für kernige MSTest-Funktionen.
  • Microsoft.NET.Test.Sdk für VSTest-Integration und Test-Host-Unterstützung.
  • Microsoft.Testing.Extensions.CodeCoverage und Microsoft.Testing.Extensions.TrxReport für Microsoft.Testing.Platform (MTP) -Erweiterungen.

Übersicht über NuGet-Pakete

MSTest-Funktionalität wird auf mehrere NuGet-Pakete aufgeteilt:

Package Description
MSTest.TestFramework Enthält die Attribute und Klassen, die zum Definieren von MSTest-Tests verwendet werden.
MSTest.TestAdapter Enthält den Testadapter, der MSTest-Tests erkennt und ausführt.
MSTest.Analyzers Enthält Analysegeräte, mit denen Sie qualitativ hochwertige Tests schreiben können.

Hinweis

Wenn Sie ein Testinfrastrukturprojekt erstellen, das als Hilfsbibliothek für mehrere Testprojekte vorgesehen ist, installieren MSTest.TestFramework Und MSTest.Analyzers direkt in dieses Projekt.

Sprachspezifische Lernprogramme

Für ausführliche Schritt-für-Schritt-Anleitungen in Ihrer bevorzugten .NET-Sprache:

Beispielprojekte

Das MSTest-Team verwaltet Beispielprojekte im Microsoft/testfx-Repository , in denen verschiedene Features und Szenarien veranschaulicht werden:

Beispiel Description Link
Einfach1 Grundlegendes MSTest-Runner-Setup Auf GitHub anzeigen
DemoMSTestSdk MSTest SDK-Projektsetup Auf GitHub anzeigen
BlankUwpNet9App UWP-Tests mit .NET 9 Auf GitHub anzeigen
BlankWinUINet9App WinUI 3-Tests mit .NET 9 Auf GitHub anzeigen
NativeAotRunner Native AOT-Kompilierung Auf GitHub anzeigen
RunInDocker Containerisierte Testausführung Auf GitHub anzeigen