O Visual Studio 2012 falsifica a instrumentação UnitTestIsolation falha ao inicializar

Acabou de instalar o 2012 update 2 ( http://www.microsoft.com/en-us/download/details.aspx?id=36833 ) para que eu possa usar vs fakes / shims para testar um código difícil de testar. Tudo compila muito bem quando eu crio os conjuntos falsos e todas as referências são adicionadas dentro do projeto de teste de unidade conforme o esperado. No entanto executando o seguinte código em qualquer teste …

using (ShimsContext.Create()) { //Doesn't matter whats in here } 

Lança a seguinte exceção …

 Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.UnitTestIsolationException : UnitTestIsolation instrumentation failed to initialize. Please restart Visual Studio and rerun this test 

Exceção completa com rastreamento de pilha …

 Test 'Abot.Tests.Unit.Core.HapHyperLinkParserTest.HyperLinkParserTest.GetLinks_AreaTags_ReturnsLinks' failed: Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.UnitTestIsolationException : UnitTestIsolation instrumentation failed to initialize. Please restart Visual Studio and rerun this test at Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.UnitTestIsolationRuntime.InitializeUnitTestIsolationInstrumentationProvider() at Microsoft.QualityTools.Testing.Fakes.Shims.ShimRuntime.CreateContext() at Microsoft.QualityTools.Testing.Fakes.ShimsContext.Create() Core\HyperlinkParserTest.cs(59,0): at Abot.Tests.Unit.Core.HyperLinkParserTest.GetLinks_AreaTags_ReturnsLinks() 

Algumas notas …

  • Estou usando o visual studio 2012 premium
  • Todos os projetos no destino da solução .net 4.0
  • Eu estou usando nunit para o framework de testes
  • Tentei executar testes através do plugin testdriven.net e nunit gui mas o mesmo erro.
  • Tentei segmentar .net 4.5 e recebi o mesmo erro
  • Eu não estou usando Typemock ou Ncrunch e eles não estão instalados
  • Eu estou usando o Moq, mas removi do th
  • Não está vinculado a um teste específico, eu verifiquei que ele falha em diferentes arquivos de teste e em outra solução também.

Mateus estava correto. Você tem que usar o corredor de teste vs.

– Teria que instalar o NUnit Test Adapter 0.94 através do gerenciador de extensão, o que permite que o executor do teste vs execute nunit.

-Tinha que usar a janela do vs test explorer para executar os testes.

Parece que o teste rodando encapsula os testes em execução em um contexto para fazer a mágica das falsificações acontecer.

Além disso, se você quiser executar os testes de um servidor de IC, precisará executar o Test Runner do VS no console e também especificar que deseja usar a extensão nUnit discoverer.

O comando seria algo assim:

 {ProgramFiles}\Microsoft Visual Studio\11.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow>vstest.console.exe /inIsolation /UseVsixExtensions:true {testsPath} 

Redefinir suas configurações de exceções em debugging:

Depuração de menu -> Exceções -> Redefinir tudo.

Depois de alterar a configuração de exceção, desmarcando o modo de debugging:

“Quebra quando este tipo de exceção é não manipulado pelo usuário”

O que causou esse problema.