我已经在接口上创建了一个方法,并希望查看它被调用的参数,但是这个方法被多次调用,我希望能够检查每个调用的参数。是否有一堆我可以检查的存根调用历史记录?
我的情况是这样的:
myStub.AssertWasCalled(stub => stub.SomeMethod(Arg<ISomeInterface>.Matches<ISomeInterface>(p => p.Mode == Mode.SomeEnum)))
答案 0 :(得分:1)
您可以使用GetArgumentsForCallsMadeOn
。
GetArgumentsForCallsMadeOn返回一个二维对象数组,因此您需要进行转换以获得您期望的类型。
它的工作原理如下:
public interface IDependency {
int DoSomething(SomeComplexType someComplexType,
int someInteger);
}
IList<object[]> argumentsSentToDoSomething =
dependency.GetArgumentsForCallsMadeOn(x => x.DoSomething(null, 0));