8

私は Moq を使い始めようとしていますが、必要なことを行うための適切なリソースを見つけるのに苦労しています。

ストアド プロシージャを介してデータセットを返す Get メソッドを持つデータ インターフェイス クラスがあります。これはコードが書かれた方法であり、現時点では変更できないため、この方法で行う必要があります。

データセットをモックしてデータを返すことでこのクラスをテストしたいので、実際にデータベース呼び出しを行う必要はありません。

誰かがこれを行っていますか?もしそうなら、どこでそれを始めるのが良いですか?

4

2 に答える 2

7

DataSet に入力するためにデータベース接続は必要ありません。次のようにモックできます。

IDataInterface di = new Mock<IDataInterface>();
DataSet mockDataSet = CreateMockDataSet();
di.Expect(x => x.Get()).Returns(mockDataSet);
something.UseDataInterface(di.Object);

ただし、モック DataSet を埋めるのは非常に面倒です。これを行う場合、通常は、返された DataSet の前にファサード インターフェイスを配置します。これにより、モックが作成しやすくなります。または、入力しやすい DataTable を使用するようにコードを変更します。

または、SQLite や SQL Server CE などの組み込みデータベースを単体テストに使用します。

于 2009-02-23T21:19:50.203 に答える