2012-06-19 1 views
18

いくつかのRSSフィードをダウンロードするコードがあります。.NET WebClientまたは同等のものを模倣するためのアドバイスが必要

私はWebClientまたはArgotic.Syndication.RssFeedライブラリを使用しています。私は間違いなく本物のRSSフィード私はユニットテストを実行するたびにヒットしたくない

しかし、これらはmockableではありません:(

誰には、どのような私ができる任意の提案を持っていますやる?

私がもしそうなら?邪悪なラッパーを作成する必要があります。これ?

答えて

16

私はすべての外部依存関係のラッパーを作成します(実用的な場合)。したがって、ファイルシステム/ Webサービス/データベースとのあらゆる対話は、インターフェイスを介してのみ行われ、よりテスト可能なコードにつながるはずです。

もう1つの解決策は(いつものように)Typemock Isolatorです。

19

の提案は、誰も私が何ができるかに何か提案がありますか?

要約インターフェイスの背後にある実際のHTTP呼び出し。 WebClientを使用してこのインタフェースの実装を記述します。メインクラスでこのインターフェースを依存関係にします。ユニットテストでこのインタフェースを模擬し、実行時に正しい実装を注入する依存性注入フレームワークを設定することができます。

+6

あなたに同意します。例:[Mocking System.Net.WebClient](http://brunov.info/blog/2013/07/30/tdd-mocking-system-net-webclient/)。 –

関連する問題