需要一些建议来尝试模拟.NET WebClient或等效的

Pur*_*ome 19 .net c# webclient moq mocking

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

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

但这些都不可模糊:(

我绝对不希望每次运行单元测试时都能看到真正的RSS提要.

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

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

Dar*_*rov 21

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

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

  • 同意您.示例:[Mocking System.Net.WebClient](http://brunov.info/blog/2013/07/30/tdd-mocking-system-net-webclient/). (8认同)

slo*_*oth 17

我会为每个外部依赖创建一个包装器(如果它是实用的).因此,与文件系统/ webservice /数据库的每次交互都应该只通过一个接口完成,这将导致更多可测试的代码.

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