代码之家  ›  专栏  ›  技术社区  ›  Yola

我可以使用自定义匹配与toHaveBeenCalledWith?

  •  0
  • Yola  · 技术社区  · 5 年前

    我需要检查传递给方法的URL。我为此编写了一个自定义匹配器,但我不知道如何在中使用它 toHaveBeenCalledWith

    在这种情况下如何使用自定义匹配器?

    mock.Setup(foo => foo.Add(It.Is<int>(i => i % 2 == 0))).Returns(true);
    
    0 回复  |  直到 5 年前
        1
  •  1
  •   daniloxxv    5 年前

    也许没有你想要的那么优雅,但是你应该能够将你的定制匹配器应用到 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]