【发布时间】:2023-03-05 14:13:02
【问题描述】:
我正在使用 Jasmine (v2.2.0) 进行测试,并且我试图监视一个方法,该方法预计将使用第一个参数的特定数据和第二个参数的未知类型调用。
我熟悉spies 和.toHaveBeenCalledWith() 间谍的语法,加上jasmine.any() 它可能看起来像这样:
expect(my.spy).toHaveBeenCalledWith('startMenu', jasmine.any(String));
但我找不到处理几种类型的方法。 我正在寻找的是一种执行相同操作的方法,其中第二个参数是任何类型,同样,当第二个参数是某些类型之一时,例如:
// Any type is okay:
expect(my.spy).toHaveBeenCalledWith('startMenu', jasmine.any());
// String or number only:
expect(my.spy).toHaveBeenCalledWith('startMenu', jasmine.any(String OR Number));
不用说,前面的示例不是工作代码,它们正是我正在寻找的正确语法。
另一方面,我发现jasmine.anything() 可以处理几乎任何事情,但使用undefined 失败。
非常感谢任何形式的帮助。
【问题讨论】:
标签: javascript node.js unit-testing jasmine spy