【发布时间】:2013-03-18 20:24:55
【问题描述】:
大多数模拟框架只能模拟接口,有些可以模拟类的虚拟方法。一些 Java 模拟框架甚至能够模拟静态类。
例如犀牛模型:
var mock = MockRepository.GenerateMock<..>();
生成模拟方法中有什么“魔法”? C# 模拟框架不允许模拟静态类有什么原因吗?或者这只是一个“设计选择”?
【问题讨论】:
-
PS:谷歌搜索该主题只为我提供了如何使用模拟框架的教程,而不是我正在寻找的内容
-
试试“哦,看看我在空中挥手我是一个框架......哦,太特别了”:)
-
moq 是开源的。
-
通常mock是一个类的实例,因此它是一个静态类是没有意义的,因为它们没有实例。结果,生成静态模拟的技术可能会完全不同。因此,对静态类的支持可能需要不同的 API 和额外的努力来支持同一框架。这是我有根据的猜测。
标签: c# mocking implementation