Tob*_*ias 0 c# moq contains equals
我想测试一个删除方法.删除方法在模拟服务中调用(不用moq模拟).
该服务管理对象列表.对象的类派生自覆盖equals()的基类.
public override bool Equals(object obj) {
if (obj == null || GetType() != obj.GetType()) {
return false;
}
BaseClass testObj = (BaseClass)obj;
return BusinessId.Equals(testObj.BusinessId);
}
Run Code Online (Sandbox Code Playgroud)
我打电话的时候
serive.GetAll().Contains(objectInList);
Run Code Online (Sandbox Code Playgroud)
我弄错了.
不调用基类中的Equals方法.列表中的对象使用moq进行模拟.
Mock<TypeOfObject> objectMock = new Mock<TypeOfObject>();
objectMock.SetupGet(pf => pf.BusinessId).Returns(guid);
return objectMock.Object;
Run Code Online (Sandbox Code Playgroud)
我如何设置模拟调用基类的Equals-Methode并且Contains-method返回true?
提前致谢.
你可以让mock通过设置Mock.CallBase属性调用你的Equals方法为true,例如:
Mock<TypeOfObject> objectMock = new Mock<TypeOfObject>();
objectMock.SetupGet(pf => pf.BusinessId).Returns(guid);
objectMock.CallBase = true;
return objectMock.Object;
归档时间: |
|
查看次数: |
988 次 |
最近记录: |