Мы начинаем новый проект в моей компании, и было решено, что мы будем использовать Microsoft Moles Framework для ВСЕХ насмешек в юнит-тестах.Мой менеджер в идеале не хочет вводить какие-либо другие Mocking-фреймворки, такие как NSubstitute или Moq, чтобы усложнить проект.Однако я обнаружил, что из-за природы, в которой Moles генерирует Mocks и Stubs, он не очень хорошо работает с инструментами рефакторинга.
Например, мы используем resharper, и если у меня был следующий интерфейс, то moles будут генерироватьзаглушка, например, так:
IMyInterface -> SIMyInterface
Теперь, если бы я реорганизовал IMyInterface под другое имя, такое как: IMyNewInterface
, тогда в моих модульных тестах класс Stub явноНЕ подвергаться рефакторингу из-за того, что оно принципиально имеет другое имя.
Я вижу, что это большая проблема, как только мы получим много перестановок юнит-тестов, что рефакторинг станет кошмаром, а мантра будет "Просто надейсяНичего не измените! "
Кто-нибудь имеет подобный опыт или знает инструмент рефакторинга, который может обрабатывать родинки?
Спасибо и Мерлин, и Майк.Моя команда решила пойти на компромисс и использовать Родинки только для типов, которые мы не можем высмеивать стандартными инструментами, а затем использовать другую среду, такую как NSubstitute для всего остального.