Estou transferindo uma pequena biblioteca que tenho no NuGet para o .NET Core.
Criei bibliotecas de classes do .NET Standard 1.6 para o projeto principal e os testes e copiei o código. Mudei os testes de unidade para usar atributos e afirmações xUnit em vez de NUnit.
Fora isso, eu praticamente segui as instruções na documentação e, portanto, adicionei os seguintes pacotes NuGet:
Infelizmente, (1) o Test Explorer não encontra meus testes de unidade e (2) quando eu executo dotnet test, obtenho o seguinte:
Iniciando a execução do teste, aguarde ... Não foi possível encontrar testhost.dll para a fonte '[...]. Tests.dll'. Certifique-se de que o projeto de teste tenha uma referência de nuget do pacote "microsoft.testplatform.testhost".
Na verdade, adicionei o Microsoft.TestPlatform.TestHostpacote NuGet sugerido , mas isso não mudou nada.
Então, qual é o problema aqui?
Estou usando o Visual Studio 2017. Não que eu ache que isso faça diferença.
Atualização : alterar o projeto de teste de Class Library (.NET Standard)para Class Library (.NET Core)corrigiu o problema. Ainda não entendo por que isso deveria fazer a diferença.
Alterar o projeto de teste de Biblioteca de Classes (.NET Standard) para Biblioteca de Classes (.NET Core) corrigiu o problema. Ainda não entendo por que isso deveria fazer a diferença.
Os testes de unidade são aplicativos que executamos. Para construir tal aplicativo, devemos especificar um tempo de execução e um modelo de aplicativo. Quando visamos ao .NET Standard, o tempo de execução e o modelo de aplicativo são ambíguos; O MSBuild não sabe se deve compilar com .NET Framework, .NET Core, Mono / Xamarin ou outra plataforma compatível com .NET Standard. A segmentação do .NET Core fornece a entrada necessária para o MSBuild, que agora sabe como resolver todos os assemblies / projetos referenciados e escolher a versão de estrutura apropriada.
Mas isso nunca foi o caso. No passado, você sempre usaria uma biblioteca de classes para testes de unidade; nunca foi considerado um aplicativo que você pudesse executar, mas sim uma coleção de classes e métodos que você alimentaria em um executor de teste.
No passado, não tínhamos o .NET Standard, que é um alvo ambíguo. Quando o MSBuild vê o .NET Standard, precisa de mais informações. "Ok, qual runtime compatível com .NET Standard você deseja usar para produzir a saída executável?" Se, por exemplo, tivéssemos o objetivo netstandard1.2, o MSBuild não saberia se deveria construir com base no .NET Core 1.0, .NET Framework 4.5.1, Windows 8.1 ou várias outras netstandard1.2plataformas compatíveis.

Iniciando a execução do teste, aguarde ... Não foi possível encontrar testhost.dll para a fonte '[...]. Tests.dll'. Certifique-se de que o projeto de teste tenha uma referência de nuget do pacote "microsoft.testplatform.testhost".
Se não especificarmos netcoreapp, o MSBuild assumirá que estamos usando a estrutura completa. Nesse caso, ele espera que os assemblies de destino, incluindo testhost.dll, estejam no bin. Se não forem (e não serão, se construirmos com o .NET Standard), receberemos o erro acima.
Meu problema era o mesmo, com a mensagem em Saída> Console de teste :
Microsoft.VisualStudio.TestPlatform.ObjectModel.TestPlatformException:
Unable to find [test-dir]\bin\Debug\netcoreapp3.1\testhost.dll.
Please publish your test project and retry.
Tenho xUnitteste baseado em pacotes:
O que me ajuda:
Microsoft.NET.Test.SdkMicrosoft.TestPlatform.TestHostAgora funciona e ainda mais rápido !
Todos os pacotes de projetos de teste baseados em xUnit no VS.NET:

No Gerenciador de Pacotes NuGet:

Jana Duggar foi aberta sobre sua busca pelo amor. Aqui está tudo o que ela disse sobre o assunto e sua janela de cinco anos para o casamento.
O astro de 'Outlander', Sam Heughan, revelou recentemente o que vai levar do set para relembrar Jamie Fraser, o papel que o tornou uma estrela.
'She Loves You' foi escrita em uma hora, gravada em um dia, e foi a música dos Beatles com uma de suas melhores apresentações de sua carreira.
Dolly Parton e sua avó Bessie tiveram um relacionamento especial. Vovó Parton estava muito doente, mas isso não impediu Dolly de pregar uma peça nela.
Você pode achar que o carvalho ou a nogueira são madeiras resistentes, mas quando se trata da madeira mais dura do mundo, elas nem chegam perto.
O oceano é repleto de beleza, mas também esconde algumas das criaturas marinhas mais assustadoras do planeta. Muitos desses animais espreitam nas profundezas do oceano, no mundo escuro e de alta pressão do fundo do mar.
Se você está enfrentando criaturas hostis ou se preparando para cenários PvP, conhecer os melhores encantamentos de espada no Minecraft pode te dar uma grande vantagem. Encantar espadas permite causar mais dano, aumentar a quantidade de itens obtidos de criaturas e prolongar a durabilidade da sua espada.
Quando as pessoas falam sobre países socialistas, geralmente imaginam o controle total do governo e a ausência de propriedade privada. Mas, na prática, as economias socialistas variam muito.
“Children” traz uma participação especial de grande nome e algumas notícias devastadoras
Este RAV4 está em excelentes condições e está preparado para um jogo de cadeiras musicais.
Imagens de drone capturaram bombeiros parecendo lutar para apagar o incêndio.
Eyes of Wakanda está diretamente relacionado ao MCU, além de atualizações sobre X-Men '97, What If..., Demolidor e muito mais.
O anel de noivado de Kate Middleton pertenceu à Princesa Diana antes do Príncipe William pedi-la em casamento. Descubra tudo o que há para saber sobre a peça histórica aqui.
John Cleese se casou com sua esposa, Jennifer Wade, em 2012. Aqui está tudo o que você precisa saber sobre a esposa de John Cleese, Jennifer Wade.
Patton Oswalt se casou com sua esposa, a também atriz Meredith Salenger, em 2017. Aqui está tudo o que você precisa saber sobre a esposa de Patton Oswalt, Meredith Salenger.
Mena Suvari é casada com o marido Michael Hope desde 2018. Aqui está tudo o que você precisa saber sobre o marido de Mena Suvari.
Isso me atinge De repente, como tantas vezes acontece É o meio do caminho tudo de novo <Não, não aquele no Pacífico, seu marrom, aquele no carnaval> Todas as manchetes em voz alta…..
Em 2022, com o lançamento do GPT-3, a habilidade de escrita parece se tornar menos importante. Com a IA, pessoas com redação ruim também podem gerar funcionários de qualidade.
No mundo acelerado e competitivo de hoje, a carreira desempenha um papel significativo no crescimento pessoal, na estabilidade financeira e na satisfação geral com a vida. No entanto, muitos indivíduos encontram-se presos em um ciclo implacável de estagnação e insatisfação, definhando gradualmente em suas vidas profissionais.
Na semana passada, notei um comunicado de imprensa, enviado via PressGazette (um site de notícias da mídia britânica). O artigo anunciava que a Acast, a empresa de publicidade e hospedagem de podcast Scandi, lideraria um consórcio de "provavelmente os editores mais influentes" em podcasting.