Мы используем TypeMock в течение нескольких лет, и, по моему опыту, нет значительных накладных расходов на производительность (я уверен, что накладные расходы есть, это просто не большая проблема).
Однако в связи с особенностями работы TypeMock необходимо учитывать несколько моментов. Поскольку TypeMock в основном работает путем внедрения кода на лету, ошибки иногда могут быть очень экзотическими. Таким образом, сообщение об ошибках может стать довольно сложной задачей. Будьте готовы копаться в IL.
Мой опыт показывает, что «среднему разработчику» трудно объяснить, как работает TypeMock. Это быстро становится сложным, и, хотя их инструменты трассировки делают устранение неполадок выполнимым, все же остается небольшая задача поддержки.
Кроме того, поскольку TypeMock позволяет имитировать что угодно (кроме mscorlib), вам действительно не нужно добавлять необходимые уровни косвенного обращения к вашему коду. Это особенность, и TypeMock здесь не виноват. Тем не менее, я видел много разработчиков, пытающихся решить свои проблемы, повсюду насмехаясь, вместо того, чтобы разделять код. Это не улучшает общее качество кода IMO.
person
Brian Rasmussen
schedule
30.07.2009