jasmine toHaveBeenCalled与部分匹配

时间:2014-01-13 20:47:47

标签: javascript unit-testing jasmine

使用Jasmine,我可以监视方法并找出论点。我希望能够致电toHaveBeenCalledWith(something, anything)

假设我想监视方法.on(event, callback)。我关心的只是听取event而不是实际的回调标识。是否可以在不编写自定义匹配器的情况下执行此操作?我没有看到一个。

3 个答案:

答案 0 :(得分:59)

尝试

toHaveBeenCalledWith(jasmine.any(Object), jasmine.any(Function))

答案 1 :(得分:14)

如果您希望测试特定内容,可以执行以下操作:

expect(mockSomething.someMethod.mostRecentCall.args[0].pool.maxSockets).toEqual(50);

答案 2 :(得分:5)

茉莉花2:

 expect(callback).toHaveBeenCalledWith(jasmine.objectContaining({
    bar: "baz"
  }));

https://jasmine.github.io/2.0/introduction.html