使用时,Moq
我在下面遇到此异常:
System.NotSupportedException: 'Expression references a method that does not belong to the mocked object: c => c.Query<MyClass>(It.IsAny<String>(), It.IsAny<Object>(), It.IsAny<IDbTransaction>(), It.IsAny<Boolean>(), It.IsAny<Nullable`1>(), (Nullable`1)It.IsAny<CommandType>())'
我的课:
public class MyClass
{
public int Id {get; set;}
public string Name {get; set;}
}
我实际的 BI 课程。我正在使用Dapper
这个类
using Dapper;
//**
//**
//**
using (var con = _readRepository.CreateConnection())
{
var query = "Select * FROM myTable"
return con.Query<MyClass>(query, new { Skip = 0, Take = 10}, null, true, null, null);
}
我的单元测试:
var conMock = new Mock<IDbConnection>();
IEnumerable<MyClass> listModels = new List<MyClass>().AsEnumerable();
//The exception occurrs right here
conMock.Setup(c => c.Query<MyClass>(
It.IsAny<string>(),
It.IsAny<object>(),
It.IsAny<IDbTransaction>(),
It.IsAny<bool>(),
It.IsAny<int?>(),
It.IsAny<CommandType>()
))
.Returns(() => listModels);
//System.NotSupportedException: 'Expression references a method that does not belong to the mocked object: c => c.Query<MyClass>(It.IsAny<String>(), It.IsAny<Object>(), It.IsAny<IDbTransaction>(), It.IsAny<Boolean>(), It.IsAny<Nullable`1>(), (Nullable`1)It.IsAny<CommandType>())'
我只是想做的是模拟Query<MyClass>
方法。我究竟做错了什么?