【发布时间】:2014-11-13 16:48:49
【问题描述】:
执行以下步骤:
- 创建默认 WCF 服务库项目
- 创建默认单元测试项目并引用服务库
- 在单元测试项目中为 System 创建 Fakes 程序集
我期待在 System.4.0.0.0.Fakes 中有一个类型 ShimFtpWebRequest。那没有。在 System.Net.Fakes 上将 Diagnostics 属性设置为 true 会发出大量警告消息,主要是关于无法生成 stubs,包括 FtpWebRequest - 因为这些类是密封的,是枚举,并且很快。我对此没意见,我不在乎存根,我想要的是垫片。没有消息说它无法生成 shim 类型。
This question 建议在某些情况下生成它,因为 OP 使用它,但他没有提及他是如何生成它的,因为它不是问题的主题。
Fake 为什么不生成ShimFtpWebRequest 类型?
【问题讨论】:
-
您提供的链接是关于 FtpWebResponse 而不是 FtpWebRequest。无论如何,您为什么要对请求进行填充?这对我来说似乎有点奇怪。
-
@EtienneMaheu 我在问题中承认了这一点,但链接的问题 提及 FtpWebRequest shim。这表明,只要设置正确,就可以生成一个。我不明白你的问题——我想对请求进行填充,因为真正的 FtpWebRequest 的行为不属于单元测试;与所有垫片的用途相同。
标签: c# unit-testing microsoft-fakes