我有2个接口 接口A有一种方法
InterfaceB CreateObjectOfInterfaceB();
接口B有方法
void DoSth();
如何验证是否使用了方法CreateObjectOfInterfaceB()。DoSth()?
答案 0 :(得分:2)
你有两个物体,所以你需要两个嘲笑。设置你的第一个模拟返回第二个模拟,它应该是直截了当的。
var mockA = new Mock<InterfaceA>();
var mockB = new Mock<InterfaceB>();
mockA.Setup(i => i.CreateObjectOfInterfaceB()).Returns(mockB.Object);
// Do your test
mockA.Verify(i => i.CreateObjectOfInterfaceB(), Times.Once);
mockB.Verify(i => i.DoSth(), Times.Once);