21

我有一些下载一些 RSS 提要的代码。

我一直在使用WebClientArgotic.Syndication.RssFeed图书馆。

但这些不是可嘲笑的:(

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

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

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

4

2 回答 2

23

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

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

于 2012-06-19T06:37:41.870 回答
17

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

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

于 2012-06-19T06:38:01.463 回答