【问题标题】:Need some advice for trying to mock a .NET WebClient or equivalent需要一些建议来尝试模拟 .NET WebClient 或等效项
【发布时间】:2012-06-21 04:09:09
【问题描述】:

我有一些代码可以下载一些 RSS 源。

我一直在使用 WebClientArgotic.Syndication.RssFeed 库。

但这些不是可模拟的 :(

我绝对不想每次运行单元测试时都点击真正的 RSS 提要。

有人对我能做什么有任何建议吗?

我需要创建一个邪恶的包装器吗?如果是这样.. 对此有何建议?

【问题讨论】:

    标签: c# .net mocking moq webclient


    【解决方案1】:

    有人对我能做什么有任何建议吗?

    抽象接口背后的实际 HTTP 调用。然后使用 WebClient 编写此接口的实现。现在让您的主类将此接口作为依赖项。你现在可以在单元测试中模拟这个接口,并配置你的依赖注入框架在运行时注入正确的实现。

    【讨论】:

    【解决方案2】:

    我会为每个外部依赖项创建一个包装器(如果可行的话)。因此,与文件系统/Web 服务/数据库的每次交互都应仅通过接口完成,这将产生更多可测试的代码。

    当然,另一个解决方案是(一如既往)Typemock Isolator

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-28
      • 1970-01-01
      • 2012-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-17
      • 1970-01-01
      相关资源
      最近更新 更多