犀牛嘲笑树桩的历史

本文关键字:历史 犀牛 | 更新日期: 2023-09-27 18:22:05

我在接口上截尾了一个方法,想看看它被调用了什么参数,但这个方法被调用了好几次,我希望能够检查每个调用的参数。是否有一堆我可以检查的对存根的调用历史记录?

我的场景是这样的:

myStub.AssertWasCalled(stub => stub.SomeMethod(Arg<ISomeInterface>.Matches<ISomeInterface>(p => p.Mode == Mode.SomeEnum)))

犀牛嘲笑树桩的历史

您可以使用GetArgumentsForCallsMadeOn

GetArgumentsForCallsMadeOn返回一个二维对象数组,因此您需要进行强制转换才能获得所需的类型。

它是这样工作的:

  public interface IDependency {
      int DoSomething(SomeComplexType someComplexType,
                            int someInteger);
    }
    IList<object[]> argumentsSentToDoSomething = 
dependency.GetArgumentsForCallsMadeOn(x => x.DoSomething(null, 0));