Need some advice for trying to mock a .NET WebClient or equivalent

.net, c#, mocking, moq, webclient

Solution

I go for creating a wrapper for every external dependency (if it's practical). So, every interaction with the filesystem/a webservice/database should be done through an interface only, which will lead to more testable code.

Another solution of course is (as always) Typemock Isolator.

Problem

I've got some code which downloads some RSS feeds. I've been using `WebClient` or `Argotic.Syndication.RssFeed` libraries. But these aren't mockable :( I definately do not want to hit the real RSS feed every time I run the unit test. Does anyone have any suggestions to what I can do? Do I need to create an evil wrapper? If so .. suggestions on this?

Original source