Как TypeMock позволяет имитировать закрытые классы и не виртуальные методы? - PullRequest
2 голосов
/ 29 сентября 2010

Я не хочу знать, как использовать TypeMock.Я просто заинтригован тем, как удается имитировать не виртуальные методы и закрытые или статические классы.Я хотел бы попытаться сделать что-то подобное - для удовольствия.

Как сгенерированные классы, по-видимому, могут наследовать от запечатанных классов?

Ответы [ 2 ]

3 голосов
/ 30 сентября 2010

Пока я там работаю, может быть, я смогу немного помочь.На самом деле мы не генерируем код, который наследуется от классов (мы не основаны на «прокси», как rhino или moq).мы просто используем реальные экземпляры и перехватываем вызовы к ним всякий раз, когда выбираем.это одно из преимуществ, которые дает вам использование API профилировщика.

Рой.

1 голос
/ 30 сентября 2010

Microsoft Moles делает нечто подобное, вы можете найти больше документации для этого: http://msdn.microsoft.com/en-us/library/ff798308.aspx

В итоге происходит пересборка тестируемой DLL для вызова в другую DLL, которую он создает для обертывания вызываемого объекта (IIRC).

...