2016-08-03 5 views
0

У меня возникают некоторые проблемы после включения покрытия кода во время наших сборок TFS. Раствор испытываемого содержит три тестовых проектов и из 209 испытаний трех тестов не работают (один в один проект и два в другой), со следующей ошибкой:Анализ покрытия кода при использовании кода с ошибкой Fakes во время сборки TFS

Test method MyNamespace.MyTest threw exception: 
Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.UnitTestIsolationException: Unexpected error returned by SetDetourProvider in profiler library 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\IntelliTrace\14.0.0\Microsoft.IntelliTrace.Profiler.14.0.0.dll'. 
Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.IntelliTraceInstrumentationProvider.Initialize() 
Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.UnitTestIsolationRuntime.InitializeUnitTestIsolationInstrumentationProvider() 
Microsoft.QualityTools.Testing.Fakes.Shims.ShimRuntime.CreateContext() 
Microsoft.QualityTools.Testing.Fakes.ShimsContext.Create() 
MyNamespace.MyTest() in MyFile.cs: line 224 

трассировки стека указывает на то, что связано с использованием Шайбы. Все тесты проходят локально даже при запуске Code Coverage и отключении Code Coverage во время сборки, после чего тесты проходят снова. Проблема кажется слегка связанной с Microsoft Fakes generates UnitTestIsolationException, но Resharper не установлен на серверах сборки.

То, что я пытался:

  1. Различные типы сборки: Построить vNext, XAML Стройте с настраиваемой или шаблоном по умолчанию
  2. Явное отключил IntelliTrace с помощью /p:EnableIntelliTrace=true и .runsetting
  3. Добавлено Diagnostic="true" всем. fakes files
  4. Увеличенная регистрационная информация Дополнительная информация об ошибке
  5. R ООН тесты локально на сервере через командную строку

Моя установка сборки сервера:

  • Windows Server 2012 R2
  • Team Foundation Server 2015,3
  • Visual Studio Enterprise 2015,3
+0

Попытайтесь перейти на свою машину агента сборки, запустите командную строку Visual Studio Developer Prompt и запустите: vstest.console.exe MyTestAssembly.dll/EnableCodeCoverage, чтобы узнать, какой результат вы получите. –

+0

@ Cece-MSFT: У меня такая же ошибка. Тем не менее, я получаю различное количество неудачных тестов, зависящих от порядка трех тестовых сборок в команде. Я получаю 3 неудачных теста, если я выполняю тот же порядок, что выбрал сервер, или только одна ошибка. Я выбираю другой порядок. –

+0

Как вы упомянули, вы можете получить количество тестов, значит ли это, что теперь вы можете получить Code Coverage? Вы использовали шаблон процесса построения по умолчанию? Не могли бы вы описать свой проект, я бы хотел пройти тест на моей стороне. –

ответ

0

По отзывам UnitTestIsolationException when debugging tests using Fakes with IntelliTrace Enabled и Debugging a c# Unit Test with fakes and Intellitrace turned on throws UnitTestIsolationException, подделки не работают, если функция intellitrace включена в настройках теста.

+0

Но мы не используем Intellitrace, и у нас есть много тестов с использованием подделок, которые отлично работают с Code Coverage ... –

+0

И тесты выполняются в режиме деблокирования. –

+0

@ ToreØstergaard, ваше сообщение об ошибке указывает на C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ CommonExtensions \ Microsoft \ IntelliTrace \ 14.0.0 \ Microsoft.IntelliTrace.Profiler.14.0.0.dll, вы может потребоваться двойная проверка. –

 Смежные вопросы

  • Нет связанных вопросов^_^