Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La versión estable MTP v2 ya está disponible. Esta guía de migración explora lo que ha cambiado en MTP v2 y cómo puede migrar a esta versión.
Cambios importantes en el código fuente
Estos son cambios importantes que pueden provocar errores de compilación después de la migración.
Se han eliminado los marcos de destino no compatibles
Se ha eliminado la compatibilidad con los marcos de destino desde .NET Core 3.1 hasta .NET 7. La versión mínima admitida de .NET es .NET 8. Este cambio no afecta a .NET Framework. .NET Framework 4.6.2 sigue siendo el objetivo mínimo compatible de .NET Framework.
Tipos obsoletos eliminados
Los siguientes tipos se marcaron como obsoletos en MTP v1. En MTP v2, se quitan completamente:
-
ITestApplicationLifecycleCallbacks: useITestHostApplicationLifetimeen su lugar. -
TestNodeFileArtifact: useFileArtifactPropertyen su lugar. -
KeyValuePairStringProperty: useTestMetadataPropertyen su lugar. -
TestSessionContext.Client: useIClientInfoen su lugar.
Este cambio importante no afecta a los usuarios habituales de los marcos de pruebas. Solo afecta a los autores del marco de pruebas y a los autores de extensiones.
Cambios de firma de API
- Se agregó un
CancellationTokenparámetro a IOutputDevice.DisplayAsync(IOutputDeviceDataProducer, IOutputDeviceData). - Los métodos en la interfaz ITestSessionLifetimeHandler se cambian para tener un parámetro
ITestSessionContexten lugar de los parámetros SessionUid y CancellationToken. -
IDataConsumerse mueve del espacio de nombresMicrosoft.Testing.Platform.Extensions.TestHostaMicrosoft.Testing.Platform.Extensions.
Este cambio importante no afecta a los usuarios habituales de los marcos de pruebas. Solo afecta a los autores del marco de pruebas y a los autores de extensiones.
Cambios disruptivos en el comportamiento
Estos son cambios importantes que podrían afectar al comportamiento en tiempo de ejecución.
Compatibilidad con elementos basados en VSTest dotnet test
El dotnet test comando tiene dos implementaciones:
- Implementación basada en VSTest: esta era la única implementación hasta el SDK de .NET 9.
- Implementación basada en MTP: esto se agregó a partir del SDK de .NET 10.
Ejecutar proyectos de prueba MTP con el SDK de .NET 10 ahora requiere optar por la instancia basada en dotnet test MTP y ya no se podrá ejecutar con la implementación basada en VSTest, que la propiedad MSBuild TestingPlatformDotnetTestSupport había habilitado anteriormente en MTP v1.
Para participar en la implementación basada en MTP, cree global.json en la raíz del repositorio o la solución (o actualice la global.json existente si ya tiene una), para que el ejecutor de pruebas se establezca como Microsoft.Testing.Platform, como se muestra en el ejemplo siguiente:
{
"test": {
"runner": "Microsoft.Testing.Platform"
}
}
Si intenta ejecutar dotnet test basado en VSTest con MTP v2, se producirá el siguiente error:
La prueba con el destino vsTest ya no es compatible con MTP en .NET SDK 10 y versiones posteriores. Si usa dotnet test, debería experimentar la experiencia nueva del comando. Para obtener más información, consulte: https://aka.ms/dotnet-test-mtp-error
Cambio de nombre de las opciones de la línea de comandos
- Se ha cambiado el nombre de la
--diagnostic-output-fileprefixopción de línea de comandos a--diagnostic-file-prefix. - Se ha cambiado el nombre de la
--diagnostic-filelogger-synchronouswriteopción de línea de comandos a--diagnostic-synchronous-write.