Microsoft führt das MSTest SDK mit Konfigurations- und Flexibilitätsverbesserungen ein, das bessere Standardeinstellungen, eine vereinfachte Nutzung und Unterstützung für den nativen AOT-Modus bietet

-

Microsoft kündigt das neue MSTest SDK an, das auf dem MSBuild Project SDK basiert. Es wurde entwickelt, um ein besseres Testerlebnis mit MSTest zu ermöglichen, indem es die Projekteinrichtung mit angemessenen Standardeinstellungen und flexiblen Optionen vereinfacht.

Dieses neue Erlebnis wurde auf der kürzlich eingeführten MSTest-Laufzeitumgebung aufgebaut, um Ihr Erlebnis noch weiter zu vereinfachen. Dieser neue Runner, eine leichte, zuverlässige und leistungsstarke Möglichkeit zum Ausführen von MSTest-Tests, wird als Abhängigkeit vom NuGet-Paket geliefert MSTest.TestAdapter. Der Runner und seine Erweiterungen bestehen aus mehreren NuGet-Paketen, um eine erweiterbare, flexible und konfigurierbare Testausführungserfahrung zu bieten. Allerdings kann die Anpassbarkeit viele Fragen aufwerfen: Welche Erweiterungen werden empfohlen? Was sind die korrekten Standardeinstellungen? Wie werden Versionen ausgerichtet? Hier kommt das MSTest SDK ins Spiel.

Erste Schritte mit dem MSTest SDK

Der Einstieg in die Verwendung des neuen MSTest SDK ist ganz einfach. Erstellen Sie einfach ein neues MSTest-Projekt (oder aktualisieren Sie ein vorhandenes MSTest-Projekt) und ersetzen Sie den Inhalt der Datei .csproj durch Folgendes:

 

1
2
3
4
5
6
7
8

"MSTest.Sdk/3.3.1">             net8.0         

Beachten Sie, dass Sie jedes von MSTest unterstützte Zielframework verwenden können (z. B. net462 und mehr).

Vorteile des MSTest SDK

Dieses neue SDK bietet viele Vorteile für Sie und Ihre Testprojekte:

  • Beste Standardeinstellungen
  • Vereinfachte Nutzung
  • Erweiterbarkeit des MSTest-Executors
  • Einfachere Akzeptanz neuer Funktionen (z. B. natives AOT-Testen).

Beste Standardeinstellungen

Wenn Sie das MSTest SDK verwenden, orientieren Sie sich an Vorlagen, die von wichtigen Anwendungstypen wie ASP.NET Core, Razor und Windows Desktop bereitgestellt werden. Es werden die Standardvorschläge verwendet, die das MSTest-Team für Ihre Testprojekte macht.

Beispielsweise hat Microsoft mit Version 3.2 einige statische MSTest-Code-Analysatoren eingeführt, diese Analysatoren sind jedoch in einem neuen Paket definiert, das nicht standardmäßig verfügbar ist, sodass Sie dieses Paket manuell zu Ihren Testprojekten hinzufügen müssen. Stattdessen können Sie mithilfe des MSTest SDK einfach die Versionen ändern und alle neuen Standardeinstellungen erhalten.

Microsoft folgt bei der Auswahl von Standardwerten und deren Aktualisierung zwischen Versionen genau den Prinzipien der semantischen Versionierung, um sicherzustellen, dass Sie über verständliche und einfache Aktualisierungen verfügen.

Einfachere Verwendung von MSTest Runner-Erweiterungen

Zusätzlich zum MSTest-Runner liefert Microsoft auch eine Reihe von Erweiterungen aus, die Sie als NuGet-Pakete installieren können, um Ihr Testerlebnis zu verbessern. Um Ihnen bei der Auswahl der richtigen Standardeinstellungen und Erweiterungen zu helfen und sicherzustellen, dass Sie problemlos Aktualisierungen und Abgleiche zwischen Erweiterungen durchführen können, führen wir ein neues Konzept von „Profilen“ ein. Microsoft bietet derzeit die folgenden 3 Profile an: Standard, AllesMicrosoft Und Keiner, die Sie konfigurieren und anpassen können. Das Profil von Standard ist empfohlen.

Das Standardprofil enthält

  • Microsoft-Codeabdeckung
  • Unterstützung für TRX-Berichte

Von jedem Profil aus können Sie dann manuell auswählen, ob zusätzliche Erweiterungen integriert oder entfernt werden sollen, indem Sie Ihrem Projekt zusätzliche Eigenschaften hinzufügen, die der Vorlage folgen würden Aktivieren[NugetPackageNameWithoutDots]. Um beispielsweise Crash-Dump-Unterstützung zum Standardprofil hinzuzufügen, können Sie einfach die folgende MSBuild-Eigenschaft hinzufügen Aktivieren Sie MicrosoftTestingExtensionsCrashDump WAHR.

 

1
2
3
4
5
6
7
8
9
10

"MSTest.Sdk/3.3.1">            net8.0              true         

Weitere Informationen zu diesen Profilen und ihren Standardwerten finden Sie in der MSTest SDK-Dokumentation.

Testen Sie natives AOT

MSTest ist das erste .NET-Testframework und der erste Executor, der die Ausführung von Tests im nativen AOT-Modus unterstützt. Wenn Sie das MSTest SDK verwenden, erkennt Microsoft automatisch, ob Sie im AOT-Modus veröffentlichen und tauscht alle erforderlichen Testpakete und Konfigurationen transparent aus, um sie an diesen speziellen Modus anzupassen.

Beispielprojektkonfiguration ohne MSTest SDK:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

"Microsoft.NET.Sdk">          net8.0     enable     enable       exe     true                  "MSTest.Engine" Version="1.0.0-alpha.24163.4" />     "MSTest.SourceGeneration" Version="1.0.0-alpha.24163.4" />       "Microsoft.CodeCoverage.MSBuild" Version="17.10.4" />     "Microsoft.Testing.Extensions.CodeCoverage" Version="17.10.4" />       "Microsoft.Testing.Extensions.TrxReport" Version="1.0.2" />     "Microsoft.Testing.Platform.MSBuild" Version="1.0.2" />     "MSTest.TestFramework" Version="3.2.2" />     "MSTest.Analyzers" Version="3.2.2" />             "..ClassLibrary1ClassLibrary1.csproj" />             "Microsoft.VisualStudio.TestTools.UnitTesting" />      

Die gleiche Projektkonfiguration mit MSTest SDK:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

"MSTest.Sdk/3.3.1">          net8.0     enable     enable     true             "..ClassLibrary1ClassLibrary1.csproj" />             "Microsoft.VisualStudio.TestTools.UnitTesting" />      

Der nächste Schritt?

Der Stil des MSTest SDK ist zwar noch in der Entwicklung, aber der Grundstein für zukünftige Entwicklungen und Funktionen. Microsoft empfiehlt allen MSTest-Benutzern dringend, auf diesen SDK-Stil zu aktualisieren, der mit .NET 9 zum Standard für das MSTest-Projektmodell werden wird.

Microsoft plant außerdem, in zukünftigen Versionen weitere Szenarien wie Playwright und WinUI hinzuzufügen.

Quelle : „Einführung in das MSTest SDK“ (Microsoft)

Und du ?

Was ist Ihre Meinung zu diesem Thema?

Siehe auch:

Microsoft teilt seine erste Vision für .NET 9 und veröffentlicht die erste Vorschau der neuen Version des Frameworks, dessen Interessengebiete die Entwicklung cloudnativer und intelligenter Apps sind

Was ist .NET und warum sollten Sie es wählen? vom Microsoft .NET-Team

-

PREV Neuer Panaracer Gravelking: Gravel-Reifen bieten neue Technologien
NEXT Don’t Nod Entertainment: DON’T NOD enthüllt einen Trailer zu seinem neuen Intellectual Property, Lost Records