Визуализировать / перечислить / проверить зависимости, которые я должен издеваться в модульном тесте? - PullRequest
1 голос
/ 19 августа 2011

С учетом модульного теста для старого, трудно читаемого унаследованного кода C #, как лучше всего:

  • найти зависимости (визуализировать их или вывести список для одного метода)
  • проверить после рефакторинга, что все зависимости сломаны, что модульный тест действительно изолирован. Нет скрытого вызова DateTime.Now, нет доступа к базе данных / файлу / службе, нет вызовов для чего-либо, что не является заглушкой или фиктивным (кроме некоторых надежных вещей .NET Framework и т. Д.)

Скорее всего, вопрос об инструменте.

Я мог бы вручную просмотреть код и предположить, что не забыл сломать все зависимости, но это подвержено ошибкам. Сейчас я делаю пометку (с помощью некоторой скрытой функции изменения резкости) всех использований определенных (не только для интерфейса, пользовательских) пространств имен. Но есть сборки, которые смешивают интерфейсы и реализации, плюс не все мои коллеги используют Resharper, плюс у меня есть ощущение, что это может быть еще проще, например, простая проверка да / нет.

Если для этого и есть какой-то отличный коммерческий инструмент, это тоже хорошо.

РЕДАКТИРОВАТЬ: может быть, я должен выразить это более четко: как я могу легко, в Visual Studio, увидеть, от каких неинтерфейсных зависимостей зависит мой класс / метод? Должны быть инструменты для этого (я надеюсь), деньги - это второстепенная проблема.

1 Ответ

1 голос
/ 13 августа 2012

Мой ответ, возможно, больше не будет вам полезен, учитывая, что вопрос был задан давно, но в случае, если у кого-то еще есть похожая проблема, которую нужно решить:

http://msdn.microsoft.com/en-us/magazine/cc163641.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...