Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A versão estável MTP v2 agora está disponível. Este guia de migração explora o que foi alterado no MTP v2 e como você pode migrar para essa versão.
Mudanças significativas na origem
Estas são mudanças disruptivas que podem causar erros de compilação após a migração.
Estruturas de destino sem suporte descartadas
O suporte para estruturas de destino do .NET Core 3.1 até o .NET 7 foi descontinuado. A versão mínima do .NET com suporte é o .NET 8. Essa alteração não afeta o .NET Framework. O .NET Framework 4.6.2 continua sendo a versão mínima do .NET Framework com suporte.
Tipos obsoletos removidos
Os tipos a seguir foram marcados como obsoletos no MTP v1. No MTP v2, eles são completamente removidos:
-
ITestApplicationLifecycleCallbacks: useITestHostApplicationLifetimeem vez disso. -
TestNodeFileArtifact: useFileArtifactPropertyem vez disso. -
KeyValuePairStringProperty: useTestMetadataPropertyem vez disso. -
TestSessionContext.Client: useIClientInfoem vez disso.
Essa mudança disruptiva não afeta usuários típicos de frameworks de teste. Ele afeta apenas autores da estrutura de teste e autores de extensão.
Alterações na assinatura da API
- Um
CancellationTokenparâmetro foi adicionado a IOutputDevice.DisplayAsync(IOutputDeviceDataProducer, IOutputDeviceData). - Os métodos na interface ITestSessionLifetimeHandler são alterados para ter um parâmetro
ITestSessionContextem vez de ambos os parâmetros SessionUid e CancellationToken. -
IDataConsumeré movido doMicrosoft.Testing.Platform.Extensions.TestHostnamespace paraMicrosoft.Testing.Platform.Extensions.
Essa mudança disruptiva não afeta usuários típicos de frameworks de teste. Ele afeta apenas autores da estrutura de teste e autores de extensão.
Alterações interruptivas de comportamento
Essas são alterações radicais que podem impactar o comportamento em tempo de execução.
Compatibilidade com base em VSTest dotnet test
O dotnet test comando tem duas implementações:
- Implementação baseada em VSTest: essa foi a única implementação até o SDK do .NET 9.
- Implementação baseada em MTP: isso foi adicionado a partir do SDK do .NET 10.
A execução de projetos de teste MTP com o SDK do .NET 10 agora requer optar pela utilização do MTP baseado em dotnet test e não pode mais ser realizada na implementação baseada em VSTest, que anteriormente era habilitada pela propriedade TestingPlatformDotnetTestSupport MSBuild no MTP v1.
Para aceitar a implementação baseada em MTP, crie global.json no repositório ou na raiz da solução (ou atualize global.json existentes, se você já tiver um), para ter o executor de teste definido como Microsoft.Testing.Platform, conforme mostrado no exemplo a seguir:
{
"test": {
"runner": "Microsoft.Testing.Platform"
}
}
A tentativa de executar o VSTest baseado em dotnet test MTP v2 produzirá o seguinte erro:
Os testes com o alvo VSTest não são mais compatíveis com o MTP no SDK do .NET 10 e versões posteriores. Se você usa o dotnet test, deve ativar a nova experiência do dotnet test. Para obter mais informações, veja https://aka.ms/dotnet-test-mtp-error
Renomear opções de linha de comando
- A
--diagnostic-output-fileprefixopção de linha de comando foi renomeada para--diagnostic-file-prefix. - A
--diagnostic-filelogger-synchronouswriteopção de linha de comando foi renomeada para--diagnostic-synchronous-write.