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