Родинки "конфликтуют" при использовании родинок с MsTest - PullRequest
0 голосов
/ 12 июля 2011

Я обнаружил объяснимое (но разочаровывающее) поведение при работе с Moles и MsTest.

Представьте себе следующий случай:

  • "Test DLL A" использует Moles на mscorlib
  • "Test DLL B" использует Moles на mscorlib

Чтобы сократить время компиляции, в обоих случаях мы редактируем файлы .moles, чтобы запросить генерацию родинок для одного класса.

Когда мы это сделаем, наши проекты будут прекрасно компилироваться.

Но когда мы запустим тест нашего решения, процесс MsTest будет:

  • Скопируйте все библиотеки DLL в папку «Out»
  • Запустить тесты в папке «Out»

Как следствие, при копировании в папку «Out» будет пытаться скопировать две версии mscorlib.Moles.dll (одну с типом 1, а другую с типом 2) и, конечно, вторая перезапишет первую один.

И поэтому мой тест "Test DLL A" не пройден, потому что моя сборка родинок неверна.

Есть, конечно, два простых обходных пути:

  • либо включите все необходимые типы (во всех проектах) в каждый файл .moles
  • либо не использовать фильтрацию типов

Вы когда-нибудь сталкивались также с этой "проблемой"? есть ли другое решение?

Большое спасибо!

Пьер-Эммануэль Руководитель группы пользователей DotNetHub

1 Ответ

1 голос
/ 27 августа 2011

Это поздний ответ, я знаю, но мы столкнулись с тем же самым в моем магазине.

В итоге мы создали проект только для родинок. Затем все остальные проекты модульных тестов ссылаются на DLL-файлы, созданные в нашей папке MolesProject / Moles.

Мы смогли использовать это и улучшить время сборки

...