gpt4 book ai didi

angularjs - Chai spy : AssertionError: expected { Spy }

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

我正在使用 chai-spies 来确保调用 Controller 中的函数,这是我的测试:

it('Should show right season and analysts when competition has been selected', function (done) {
scope.selectedCompetition = scope.competitions[3];
var spy = chai.spy(scope.selectedCompetitionChanged);
scope.selectedCompetitionChanged();
expect(spy).to.have.been.called();
done();
});

在哪里 scope.selectedCompetitionChanged是一个函数。测试失败并出现以下错误:
 AssertionError: expected { Spy } to have been called
at Context.<anonymous> (base/tests/client/controllers/prediction.js?02f216981852d0775780926989e7266c6afb0af6:61:30)

如果我显式调用该函数,怎么会发生这种情况?
谢谢

最佳答案

记录一下,我觉得你理解错了the docs .有了这个:

var spy = chai.spy(scope.selectedCompetitionChanged);

您只是在包装函数 scope.selectedCompetitionChanged在另一个函数内 spy ,因此如果您想查看调用次数,您必须使用新的 spy()而不是原来的 scope.selectedCompetitionChanged() .

跟踪对象方法的另一种方法如下:
var spy = chai.spy.on(scope, 'selectedCompetitionChanged');

现在您可以调用 scope.selectedCompetitionChanged()像往常一样,它将被视为 spy 电话。

关于angularjs - Chai spy : AssertionError: expected { Spy },我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32827629/

25 4 0
文章推荐: ruby-on-rails - 我该怎么做呢? Model.where ("created_at >= #{Time.now - 5.days}")
文章推荐: javascript - React + Redux 应用程序中长时间运行的进程位于何处?
文章推荐: reactjs - react 16 : Warning: Expected server HTML to contain a matching
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com