【发布时间】:2011-04-10 11:40:16
【问题描述】:
我了解如何模拟接口或虚拟方法调用。但是像 TypeMock 这样的框架可以模拟框架中的所有内容。哪些 .NET 机制用于提供此类功能?
【问题讨论】:
我了解如何模拟接口或虚拟方法调用。但是像 TypeMock 这样的框架可以模拟框架中的所有内容。哪些 .NET 机制用于提供此类功能?
【问题讨论】:
例如,Typemock Isolator 使用 CLR profiler API 拦截 .NET 调用并在运行时更改它们:
Typemock 隔离器使用 面向方面的程序设计 这创建了一个模拟方面。 在内部,它使用 .NET Framework profiler API 来监控 应用程序的执行。当一个方法 由 CLR 加载,Typemock 隔离器检索 IL 并替换 它带有检测的 IL 代码。类型模拟 隔离器不会改变你原来的 IL代码,它只是插入新代码 调用 Typemock 隔离器 框架并返回模拟值。
【讨论】: