2

相互に対話するさまざまな Web サービスがあり、データベース呼び出しを行うこともあれば、メッセージ キューと対話することもありますが、実際にデータベースを呼び出すことなく、相互に対話するサービスをテストできるようにしたいと考えています。

システムの外側の端、つまりデータベースやメッセージ キューに実際にアクセスすることなく、統合テストを実行できる方法はありますか。

私たちの Web サービスとデータベースは、DI やテスト可能性を念頭に置いて作成されていないため、サービスに偽の実装を作成することは実際には選択肢ではありません。アセンブリの偽のバージョンを作成し、有望に見える Microsoft Mocks ライブラリを見てきました。

Microsoft の偽物を使用してこれを達成する方法はありますか? どうにかして、偽の SqlConnection を呼び出すサービスを取得し、データベース呼び出しをモックすることはできますか?

4

1 に答える 1

0

依存性注入を使用する方法がない場合は、DB レイヤーの特定のコンポーネントをモックしてみてください。

リポジトリパターンをご覧になることをお勧めします

http://www.codeproject.com/Articles/526874/Repositorypluspattern-2cplusdoneplusright

そして、すべての DB モデルを分離して抽象化しようとすると、RhinoMocks のようないくつかのモック フレームワークを使用して、このすべてのクラスをモックできます。

于 2013-02-05T16:25:45.090 に答える