5



Я нашел различные итерации этого вопроса на нескольких веб-сайтах, однако до сих пор я не нашел ничего, что обеспечивало бы полный ответ, который сработал. Я только что настроил несколько агентов тестирования Visual Studio, которые, как представляется, ведут себя и запускают большинство тестируемых модульных тестов, которые мы планируем сначала запустить на них. Однако, когда я пришел к проверке одного из модульных тестов он неудовлетворительные на линии:
using (ShimsContext.Create()),

С трассировкой стеки:
Result Message:
Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.UnitTestIsolationException: Failed to resolve profiler path from COR_PROFILER_PATH and COR_PROFILER environment variables.
Прочитав некоторые другие должности я установил Visual Studio 2013 на тестируемом агенте и подтвердил он будет проходить тест локально. Затем я устанавливал COR_PROFILER_PATH профилировщику, который использовался на моем компьютере, который был установлен на: «C: \ Program Files \ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ CommonExtensions \ Microsoft \ IntelliTrace \ 12.0.0 \ Microsoft.IntelliTrace.Profiler .12.0.0.dll». Затем он не смог найти то же место со следом:
Test method threw exception:
Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.UnitTestIsolationException: Failed to get profiler module handle 'C:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\IntelliTrace\12.0.0\Microsoft.IntelliTrace.Profiler.12.0.0.dll'. The specified module could not be found ---> System.ComponentModel.Win32Exception: The specified module could not be found

Предложение состоит в том, что профайлер загружен под отдельный процесс и не может быть использован. Кто-нибудь имел успех с этим или подобными настройками? На базовом уровне специалисты Visual Studio Test Agents могут проводить тесты с помощью Fakes?
Выполнение теста с использованием Shims на Visual Studio 2013 Test Agent

+0

Попробуйте сделать свой вопрос немного более лаконичным, так как он слишком большой. – gsamaras

+0

Является ли ваша ОС 32-разрядной? Если нет, вам, вероятно, придется использовать «программные файлы (x86)» вместо «программных файлов». –

+0

Нет ссылки на файл, который существует. Машина, используемая в качестве тестового агента, работает под управлением Windows 7 Embedded 32bit. –

ответ

4

Я знаю, что это немного устарело, поэтому ОП, вероятно, получил его ответ, но для кого-либо еще я открыл билет с Microsoft по этому вопросу, и ответ, который мы пришли через полтора часа о моей установке для этой проблемы:

Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.UnitTestIsolationException: Не удалось разрешить путь профайлера из переменных среды COR_PROFILER_PATH и COR_PROFILER.

, было то, что я использовал mstest.exe и я использую vstest.console.exe. В моем случае это было из-за того, что у меня есть тест Fakes в моем коде.

Я использую Visual Studio 2013 обновление 4.

+0

У меня есть сообщение https://mfreidge.wordpress.com/2016/04/30/replace-mstest-to-vstest-to-support-fakes/ описание того, как переключиться с MSTest на VStest –

1

У меня была такая же проблема с проектом я работал. Я нашел этот вопрос отмеченным: https://connect.microsoft.com/VisualStudio/feedback/details/832744/unable-to-debug-shims-based-tests-unittestisolation-exception

Был прикрепленный проект, поэтому я загрузил проект и провел единственный модульный тест. Такая же ошибка - тест устройства не был успешным. Тем не менее, я щелкнул правой кнопкой мыши по System под номером References и нажал Add Fakes Assembly. Как только он сгенерировал подделки для System и mscorlib, вуаля! Тест стал зеленым.

Я смог воспроизвести проблему в своем проекте - У меня не было подделок для системы. Как только я сгенерировал их для System, мои тесты прошли от красного до зеленого!

Сторона примечания. Если вы не хотите генерировать ВСЕ фальшивки для System и mscorlib, вы можете так изменить файлы .fakes.

mscorlib.fakes:

<Fakes xmlns="http://schemas.microsoft.com/fakes/2011/"> 
    <Assembly Name="mscorlib" Version="4.0.0.0"/> 
    <StubGeneration Disable="true" /> 
    <ShimGeneration Disable="true" /> 
</Fakes> 

системы.подделки:

<Fakes xmlns="http://schemas.microsoft.com/fakes/2011/"> 
    <Assembly Name="System" Version="4.0.0.0"/> 
    <StubGeneration Disable="true" /> 
</Fakes> 

Я не мог отключить ShimGeneration для System.fakes - тест завершился неудачно.

Надеюсь, это исправляет проблему для кого-то другого - ошибка чрезвычайно расплывчата!

+0

Спасибо за 'StubGeneration Disable = "true" –

0

(Я предполагаю, что ваш тест-агент также сборки агента.)

ли версия сборки службы синхронизирована с визуальной версии студии, который установлен?

У меня был один и тот же вопрос в следующей среде:

  • TFS 2013
  • Сложение Сервер ж/TFS 2013
  • Visual Studio 2015,3 установлен на сервере сборки

Когда я обновила версию TFS на сервере сборки до 2015 года.3, проблема не исчезла.

Я знаю, что это может не иметь смысла, но решила проблему, поскольку TFS 2015 XAML Build совместима с TFS 2013.4 уровнем приложения.

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

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