“typemock隔离器”如何模拟静态方法?
-
13-09-2020 - |
题
作为您的一些人,通常无法在.NET中模拟静态方法。
通过嘲笑,我的意思是用另一个具有相同签名的另一种方法替换一个类中的方法,通常用于测试目的。
用于嘲笑方法的两种主要方法是将其在接口中声明或定义它。这两个都不允许进行.NET静态方法。
但是,有一个昂贵的工具,称为“typemock隔离器”,允许静态方法嘲笑。隔离器如何完成这一看似不可能的壮举?解决方案
它是在常见问题解答。
基本上,一个typemock假实例化原始类型的新对象,并挂钩到该对象的每个方法和属性调用中,将呼叫重定向到假并返回所指定的值。它在.NET Framework中使用了一些Deep Voodoo( .net profiler api ,如果您有兴趣)这样做,但这完全是“合法”。技术上,任何人都可以建立一个副本的typemock,但我还没有看到一个。
不隶属于 StackOverflow