有了 Jasmine,我可以监视方法并找出论点。我希望能够打电话给
toHaveBeenCalledWith(something, anything)
。
假设我想监视一个方法
.on(event, callback)
。我所关心的是 event
是否被监听,而不是实际的回调标识是什么。是否可以在不编写自定义匹配器的情况下做到这一点?我没有看到一个。
尝试
toHaveBeenCalledWith(jasmine.any(Object), jasmine.any(Function))
茉莉花2:
expect(callback).toHaveBeenCalledWith(jasmine.objectContaining({
bar: "baz"
}));
https://jasmine.github.io/api/edge/jasmine.html#.objectContaining
如果您想测试特定的事情,您可以执行以下操作:
expect(mockSomething.someMethod.mostRecentCall.args[0].pool.maxSockets).toEqual(50);
Jasmine 2 中的语法现在是:
mockSomething.someMethod.calls.mostRecent().args[0]