5

再会。

我正在测试以查看功能得到了她所有的参数。

我知道她的两个参数必须具有什么价值,

但对于第三个参数,我只想测试它是否存在。

expect(myFunction).toHaveBeenCalledWithMatcher({
    a: 1,
    b: 2,
    c: dont know its val but want it to exist
});

提前致谢

4

2 回答 2

4

尝试

  expect(myFunction.mostRecentCall.args[2]).toBeDefined();

并省略 toHaveBeenCalledWith 测试中的参数。

于 2013-02-14T12:20:51.893 回答
4

您也可以使用jasmine.any. 如果您期望一个数字,它可能是:

expect(myFunction).toHaveBeenCalledWith({
    a: 1,
    b: 2,
    c: jasmine.any(Number)
});

这也是可能的jasmine.any(Function)等等。来自茉莉花文档:

jasmine.any 将构造函数或“类”名称作为预期值。如果构造函数与实际值的构造函数匹配,则返回 true。

于 2013-02-14T12:34:45.290 回答