我正在尝试 Mock 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()叫。