问题描述
我需要检查传递给方法的URL。我为此编写了一个自定义匹配器,但是我不知道如何在toHaveBeenCalledWith
中使用它。
例如在C#Moq中,我可以执行以下操作以仅匹配偶数:
mock.Setup(foo => foo.Add(It.Is<int>(i => i % 2 == 0))).Returns(true);
解决方法
也许没有您想要的优雅,但是您应该能够将自定义匹配器应用于yourMockFunction.mock.calls[0][0]
。
expect(customMatcher(mockFunction.mock.calls[0][0])).toEqual(true)
如果有多个参数,则可以阅读mockFunction.mock.calls[0]
中的下一个元素。如果要检查多个呼叫,它们将在mockFunction.mock.calls[1]
,mockFunction.mock.calls[2]
等中可用。