我正在使用 Jasmine ( v2.2.0 ) 进行测试,并且我试图监视一个方法,该方法预计将使用第一个参数的特定数据和第二个参数的未知类型调用。
我熟悉间谍和间谍的.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()
which几乎可以处理任何事情,但undefined
.
非常感谢任何形式的帮助。