Dan*_*don 11 .net unit-testing typemock mocking typemock-isolator
正如你们中的一些人所知,通常无法在.net中模拟静态方法.
通过模拟,我的意思是用另一个具有相同签名的方法替换类中的方法,通常用于测试目的.
用于模拟方法的两个主要方法是将其声明为虚拟或在接口中定义它.这两个都不允许使用.net静态方法.
然而,有一种称为"Typemock Isolator"的昂贵工具允许模拟静态方法.Isolator如何完成这个看似不可能的壮举?
Ran*_*pho 10
它在FAQ中.
基本上,Typemock伪实例化原始类型的新对象并挂钩到该对象的每个方法和属性调用,将调用重定向到伪并返回您指定的值.它使用.NET Framework中的一些深层巫术(.NET Profiler API,如果你有兴趣)来做到这一点,但它都是"合法的".从技术上讲,任何人都可以建立一个Typemock的副本,但我还没有看到一个.