Adds Verify support for verifying Moq types.
See Milestones for release notes.
https://nuget.org/packages/Verify.Moq/
[ModuleInitializer]
public static void Init() =>
VerifyMoq.Initialize();
Given an interface:
public interface ITarget
{
string Method(int a, int b);
}
The Mock and its invocations can then be verified:
[Test]
public Task Test()
{
var mock = new Mock<ITarget>();
mock.Setup(_ => _.Method(It.IsAny<int>(), It.IsAny<int>()))
.Returns("response");
var target = mock.Object;
target.Method(1, 2);
return Verify(mock);
}
Results in:
[
{
Method: ITarget.Method(int a, int b),
Arguments: {
Arguments: {
a: 1,
b: 2
}
},
ReturnValue: response
}
]
Arguments can be scrubbed by name:
[Test]
public Task ScrubArguments()
{
var mock = new Mock<ITarget>();
mock.Setup(_ => _.Method(It.IsAny<int>(), It.IsAny<int>()))
.Returns("response");
var target = mock.Object;
target.Method(1, 2);
return Verify(mock)
.ScrubMember("a");
}
Results in:
[
{
Method: ITarget.Method(int a, int b),
Arguments: {
Arguments: {
a: {Scrubbed},
b: 2
}
},
ReturnValue: response
}
]