gpt4 book ai didi

javascript - Jasmine .calls.count 和 .calls.any 抛出错误

转载 作者:行者123 更新时间:2023-12-03 10:31:10 25 4
gpt4 key购买 nike

我正在尝试测试 .calls.count().calls.any,我尝试了此链接 Jasmine test cases 中的以下代码

describe("A spy", function() {
var foo, bar = null;

beforeEach(function() {
foo = {
setBar: function(value) {
bar = value;
}
};

spyOn(foo, 'setBar');
});



it("tracks if it was called at all", function() {
expect(foo.setBar.calls.any()).toEqual(false);

foo.setBar();

expect(foo.setBar.calls.any()).toEqual(true);
});



it("tracks the number of times it was called", function() {
expect(foo.setBar.calls.count()).toEqual(0);

foo.setBar();
foo.setBar();

expect(foo.setBar.calls.count()).toEqual(2);
});

});

但这会引发错误:

TypeError: 'foo.setBar.calls.any' is not a function

TypeError: 'foo.setBar.calls.count' is not a function

我检查了语法,网上到处都是一样的。怎么了?

最佳答案

这是一个愚蠢的问题,但是您确定您不是无意中使用了 Jasmine 1.3 吗? calls 也是一个有效的属性,但它还没有 any()count() 方法,您可以使用这些方法2.0 文档中的引用。

(我在从 1.3 迁移到 2.0 的过程中遇到过很多类似的错误,因为语法非常相似,所以错误并不一眼就能看出。)

关于javascript - Jasmine .calls.count 和 .calls.any 抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29209480/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com