Moq,如何从另一个接口内部的接口验证方法
Moq, how verifing method from interface inside another interface
我有2个接口
接口 A 有一个方法
InterfaceB CreateObjectOfInterfaceB();
接口 B 有方法
void DoSth();
如何验证是否使用了方法 CreateObjectOfInterfaceB().DoSth()?
你有两个对象,所以你需要两个模拟。将您的第一个模拟设置为 return 第二个模拟,从那里应该很简单。
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);
我有2个接口 接口 A 有一个方法
InterfaceB CreateObjectOfInterfaceB();
接口 B 有方法
void DoSth();
如何验证是否使用了方法 CreateObjectOfInterfaceB().DoSth()?
你有两个对象,所以你需要两个模拟。将您的第一个模拟设置为 return 第二个模拟,从那里应该很简单。
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);