Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Met de MTP-servermodus kan een editor, IDE of een ander testhulpprogramma een testtoepassing starten en detectie en uitvoering via JSON-RPC stimuleren. Gebruik de servermodus wanneer u hulpprogramma's rond MTP bouwt. Voor normale opdrachtregel- en CI-runs voert u de testtoepassing direct uit of gebruikt u dotnet test.
Start de openbare JSON-RPC server met --server of --server jsonrpc.
Belangrijk
De .NET SDK maakt gebruik van een afzonderlijk intern binair protocol via --server dotnettestcli. Geef die waarde niet zelf door.
dotnet test hiermee configureert u de transport- en protocolargumenten.
De bronclient gebruiken
Vanaf MTP 2.4.0 biedt het pakket Microsoft.Testing.Platform.ServerMode.Client.Sources een canonieke client voor het JSON-RPC-protocol. Het pakket injecteert C#-bron in uw project in plaats van een runtime-assembly toe te voegen.
Het alleen-bronontwerp biedt:
- Geen runtime-DLL of aanvullende implementatieafhankelijkheid.
- Systeemeigen AOT-compatibele, reflectievrije serialisatie.
- Protocoltypen en serialisatiecode uit dezelfde opslagplaats als de MTP-server.
De geïnjecteerde typen MtpServerClient en IMtpServerClient kunnen een verbinding initialiseren, tests detecteren, tests uitvoeren, de server verzoeken om af te sluiten en updates van testknooppunten rapporteren. De typen blijven internal aan uw assembly over.
Voldoen aan clientvereisten
Gebruik C# 12 of hoger. Het pakket stelt LangVersion in op 12.0 wanneer uw project geen taalversie opgeeft. Het levert ook interne compatibiliteitstypen voor .NET Framework 4.6.2 en netstandard2.0.
Verwijder een handgeschreven kopie van de MTP-client voordat u het pakket toevoegt om dubbele interne typen te voorkomen.
Verbindingsgedrag kiezen
Stel MtpServerClientOptions.IsStateful in om de server te laten weten of de client de status behoudt tussen verzoeken:
- Laat de waarde
falsevoor één detectie- of uitvoeringsaanvraag staan, gevolgd door afsluiten. - Stel de waarde
truein op voor een editor- of IDE-sessie waarmee meerdere aanvragen via dezelfde verbinding worden verzonden.
De client verzendt deze instelling via de experimentele capabilities.testing.isStateful protocolmogelijkheid.