MSpec -> 如何验证一个方法被调用
MSpec -> How to verify that a method is called
我在我的移动服务应用程序中使用 MSpec。我想验证当传入的参数为空时,是否调用了我的自定义记录器上的方法。这可能吗?
代码
if (someOrg == null || target == null) {
AppUtils.LogInfo(">>>>> +++ Utils-GetAsNeededItems - Null input");
return null;
}
您可以将 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);
我在我的移动服务应用程序中使用 MSpec。我想验证当传入的参数为空时,是否调用了我的自定义记录器上的方法。这可能吗?
代码
if (someOrg == null || target == null) {
AppUtils.LogInfo(">>>>> +++ Utils-GetAsNeededItems - Null input");
return null;
}
您可以将 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);