Migreren van Microsoft. Testing.Platform (MTP) v1 naar v2

De stabiele versie MTP v2 is nu beschikbaar. In deze migratiehandleiding wordt beschreven wat er is gewijzigd in MTP v2 en hoe u kunt migreren naar deze versie.

Brekende wijzigingen in de bron

Dit zijn belangrijke wijzigingen die fouten in de build kunnen veroorzaken na de migratie.

Niet-ondersteunde doelraamwerken verwijderd

Ondersteuning voor doelframeworks van .NET Core 3.1 naar .NET 7 wordt verwijderd. De minimaal ondersteunde .NET-versie is .NET 8. Deze wijziging heeft geen invloed op .NET Framework. .NET Framework 4.6.2 blijft het minimaal ondersteunde .NET Framework-doel.

Verouderde typen verwijderd

De volgende typen zijn gemarkeerd als verouderd in MTP v1. In MTP v2 worden ze volledig verwijderd:

  • ITestApplicationLifecycleCallbacks: gebruik ITestHostApplicationLifetime in plaats daarvan.
  • TestNodeFileArtifact: gebruik FileArtifactProperty in plaats daarvan.
  • KeyValuePairStringProperty: gebruik TestMetadataProperty in plaats daarvan.
  • TestSessionContext.Client: gebruik IClientInfo in plaats daarvan.

Deze belangrijke wijziging heeft geen invloed op typische gebruikers van testframeworks. Dit is alleen van invloed op testframeworkauteurs en extensieauteurs.

Wijzigingen in API-handtekeningen

Deze belangrijke wijziging heeft geen invloed op typische gebruikers van testframeworks. Dit is alleen van invloed op testframeworkauteurs en extensieauteurs.

Gedragsbrekende wijzigingen

Dit zijn belangrijke wijzigingen die van invloed kunnen zijn op het gedrag tijdens runtime.

Compatibiliteit met VSTest-gebaseerde dotnet test

De dotnet test opdracht heeft twee implementaties:

  • Implementatie op basis van VSTest: dit was de enige implementatie tot .NET 9 SDK.
  • Implementatie op basis van MTP: deze is toegevoegd vanaf .NET 10 SDK.

Voor het uitvoeren van MTP-testprojecten met .NET 10 SDK is nu aanmelding vereist voor de MTP-gebaseerde dotnet test implementatie en kan deze niet meer worden uitgevoerd met de vsTest-implementatie, die eerder is ingeschakeld door TestingPlatformDotnetTestSupport de eigenschap MSBuild in MTP v1.

Als u zich wilt aanmelden voor de implementatie op basis van MTP, maakt u global.json in de hoofdmap van de opslagplaats of oplossing (of werkt u bestaande global.json bij als u er al een hebt), zodat de testrunner is ingesteld als Microsoft.Testing.Platform, zoals wordt weergegeven in het volgende voorbeeld:

{
  "test": {
    "runner": "Microsoft.Testing.Platform"
  }
}

Als u probeert de VSTest-uitvoering dotnet test met MTP v2 uit te voeren, wordt de volgende fout gegenereerd:

Testen met VSTest-doel wordt niet meer ondersteund door MTP op .NET 10 SDK en hoger. Als u dotnet-test gebruikt, moet u zich aanmelden voor de nieuwe dotnet-testervaring. Zie https://aka.ms/dotnet-test-mtp-error voor meer informatie

Naam van opdrachtregelopties wijzigen

  • De naam van de --diagnostic-output-fileprefix opdrachtregeloptie is gewijzigd in --diagnostic-file-prefix.
  • De naam van de --diagnostic-filelogger-synchronouswrite opdrachtregeloptie is gewijzigd in --diagnostic-synchronous-write.