MSpec - >如何验证方法是否被调用

时间:2017-01-12 17:19:52

标签: c# testing bdd assertions mspec

我在移动服务应用程序中使用MSpec。我想验证当传入的参数为null时,我的自定义记录器上的方法被调用。这可能吗?

if (someOrg == null || target == null) {
    AppUtils.LogInfo(">>>>> +++ Utils-GetAsNeededItems - Null input");
    return null;
}

1 个答案:

答案 0 :(得分:2)

您可以将Moq与MSpec一起使用。

// Mock something
Mock<ISomething> mock = new Mock<ISomething>();

ClassToTest sut = new ClassToTest();
sut.WorkMethod(mock.Object);

// Make sure the method TheMethodYouWantToCheck was called
mock.Verify(m => m.TheMethodYouWantToCheck());

你也可以使用Verify的重载并确保它被调用一次或至少x次,或最多x次等。

mock.Verify(m => m.TheMethodYouWantToCheck(), Times.Once);