Moq,如何从另一个接口

时间:2016-04-03 18:51:15

标签: c# unit-testing mocking moq

我有2个接口 接口A有一种方法

InterfaceB CreateObjectOfInterfaceB();

接口B有方法

void DoSth();

如何验证是否使用了方法CreateObjectOfInterfaceB()。DoSth()?

1 个答案:

答案 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);