#moles #pex-and-moles
#родинки #pex-и-родинки
Вопрос:
Я создаю проект модульного тестирования для своего решения и использую родинки, чтобы обойти все считывание данных. Когда сегодня я запускаю все тесты, в конце результатом была ошибка, подобная этой «тип хоста «Родинки» не может быть загружен: ключ «Родинки» не может быть найден». для каждого теста, который содержит атрибут HostType («Родинки»).
Я не понимаю причины проблемы, потому что я использую родинки трехмесячной давности, и у меня никогда не было такой проблемы.
Спасибо!!!
Ответ №1:
Это очень старый вопрос, и спрашивающий, вероятно, уже нашел решение, но поскольку это один из первых результатов для этой ошибки в Google, вот что я нашел:
Я (и многие другие, по-видимому) столкнулись с этой проблемой при запуске 64-разрядных тестов, которые зависят от родинок.
Во-первых, убедитесь, что у вас установлена правильная «разрядность» родинок. Существуют x86 и x64 версии платформы moles. По моему опыту, 32-разрядная платформа, установленная на 64-разрядной машине, на самом деле будет выглядеть так, как будто все работает правильно, но ваши тесты не будут выполняться. Вы можете установить 64-разрядную платформу здесь:
Я рекомендую закрыть VS 2010 перед установкой, но я не знаю, имеет ли это какое-либо значение.
Далее, убедитесь, так или иначе, что ваши тесты, размещенные на родинках, используют 64-разрядную версию, если это необходимо. Для достижения этой цели я оставил свой тестовый хост «По умолчанию», но установил следующее в файле AssemblyInfo.cs моего тестового проекта:
[assembly: MolesAssemblySettings(Bitness = MolesBitness.x64)]
Затем, только для тестов, которые я хотел запустить в Moles, я добавил этот атрибут в метод тестирования:
[HostType("Moles")]
После этого у меня все заработало.