我正在尝试模拟IUnitOfWork接口
Mock<IUnitOfWork> mock = new Mock<IUnitOfWork>();
IUnitOfWork接口包含其他接口。 所以我想在IUintOfWork
的Customer接口内部模拟一个函数mock.Setup(s => s.Customer.GetActiveCustomerByIdCard("lala"))
.Returns(new Customer());
我将模拟对象传递给被测类
var manager = new CustomerManager(mock.Object);
var res = manager.AddNewCustomer(new Customer());
我的问题是当模拟函数返回null
var customer = _unitOfWork.Customer.GetActiveCustomerByIdCard(idCard);
当我调试测试时,我在CustomerManager类中看到了模拟,但是函数返回null
答案 0 :(得分:2)
设置最有可能使用与调用模拟时使用的值不同的值。
使用It.IsAny<string>()
忽略参数值
mock
.Setup(s => s.Customer.GetActiveCustomerByIdCard(It.IsAny<string>()))
.Returns(new Customer());