私はモックしようとしていますSqlConnectionが、これは本質的にですIDbConnection。
そのために、テスト用にモックを準備します。
var dbConnectionMock = new Mock<IDbConnection>();
dbConnectionMock.Setup(x => x.CreateCommand()).Returns(new SqlCommand());
var repository = new XxxRepository(dbConnectionMock.Object);
リポジトリのコンストラクターは、このプロパティを設定します。
private IDbConnection Connection { get; set; }
そしてConnection、Db を呼び出すときに使用されます。
var command = Connection.CreateCommand();
command.Connection = Connection;// ここでは失敗します。Connection は のプロキシ タイプであるためIDbConnectionですIDbConnectionProxy。
プロキシの使用を避けるにはどうすればよいですか?
私がテストしたいのは、それcommand.ExecuteNonQuery()が呼び出されたことだけです。