Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Im MTP-Servermodus kann ein Editor, eine IDE oder ein anderes Testtool eine Testanwendung starten und die Ermittlung und Ausführung über JSON-RPC steuern. Verwenden Sie den Servermodus, wenn Sie Tools um MTP erstellen. Führen Sie für reguläre Befehlszeilen- und CI-Läufe die Testanwendung direkt aus oder verwenden Sie dotnet test.
Starten Sie den öffentlichen JSON-RPC-Server mit --server oder --server jsonrpc.
Important
Das .NET SDK verwendet ein separates internes binärprotokoll über --server dotnettestcli. Übergeben Sie diesen Wert nicht selbst.
dotnet test konfiguriert die Transport- und Protokollargumente.
Nur den Quellclient verwenden
Ab MTP 2.4.0 stellt das Paket Microsoft.Testing.Platform.ServerMode.Client.Sources einen kanonischen Client für das JSON-RPC-Protokoll bereit. Das Paket fügt die C#-Quelle in Ihr Projekt ein, anstatt eine Laufzeitassembly hinzuzufügen.
Das Source-only-Design bietet Folgendes:
- Keine Laufzeit-DLL oder zusätzliche Bereitstellungsabhängigkeit.
- Native AOT-kompatible, spiegellose Serialisierung.
- Protokolltypen und Serialisierungscode aus demselben Repository wie der MTP-Server.
Die injizierten MtpServerClient und IMtpServerClient Typen können eine Verbindung initialisieren, Tests erkennen, Tests ausführen, das Beenden des Servers anfordern und Aktualisierungen zu Testknoten melden. Die Typen bleiben internal für Ihre Assembly verfügbar.
Erfüllen der Clientanforderungen
Verwenden Sie C# 12 oder höher. Das Paket setzt LangVersion auf 12.0, wenn Ihr Projekt keine Sprachversion angibt. Außerdem stellt es interne Kompatibilitätstypen für .NET Framework 4.6.2 und netstandard2.0 bereit.
Entfernen Sie alle handschriftlichen Kopien des MTP-Clients, bevor Sie das Paket hinzufügen, um doppelte interne Typen zu vermeiden.
Verbindungsverhalten auswählen
Legen Sie MtpServerClientOptions.IsStateful fest, um dem Server mitzuteilen, ob der Client den Zustand über Anfragen hinweg beibehält:
- Lassen Sie den Wert
falsefür eine einzelne Ermittlungs- oder Ausführungsanforderung, gefolgt von "Exit". - Legen Sie den Wert
truefür eine Editor- oder IDE-Sitzung fest, die mehrere Anforderungen über dieselbe Verbindung sendet.
Der Client sendet diese Einstellung über die experimentelle capabilities.testing.isStateful Protokollfunktion.