首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >卡玛与摩卡、柴氏、柴氏应许及柴新安

卡玛与摩卡、柴氏、柴氏应许及柴新安
EN

Stack Overflow用户
提问于 2015-12-07 12:44:41
回答 1查看 1.1K关注 0票数 1

我正试着让我的卡玛测试套件与摩卡,柴,西农,柴达成和柴西农一起运行。

这是目前设置的只有摩卡,chai和sinon框架。

代码语言:javascript
复制
frameworks: ['mocha', 'requirejs', 'sinon', 'chai']

现在,我尝试添加一些额外的业力插件,即业力-柴西翁和因果报应。然后将上面的内容更改为

代码语言:javascript
复制
frameworks: ['mocha', 'requirejs', 'chai-sinon', 'chai-as-promised', 'chai']

在我的单元测试中

代码语言:javascript
复制
expect(stub).to.not.have.been.called();

但是这给了我一个错误'TypeError:' Object‘不是一个函数.’但如果我做了

代码语言:javascript
复制
expect(stub.called).to.equal(false);

它如预期的那样工作。

我试过检查业力插件代码,但没有任何意义,我希望在业力插件中的某个地方说“chai.use(ChaiAsPromised)”和“chai.use(SinonChai)”,但它们没有。karma网站也没有真正解释插件/框架是如何在引擎盖下工作的。

有人能帮我安排一下吗?

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2016-01-18 16:44:07

默认情况下,任何不使用参数的断言都必须在没有方括号的情况下声明:

代码语言:javascript
复制
expect(stub).not.to.have.been.called;

(是的,很奇怪。)

这是因为在本例中,called是一个getter函数,它在被访问时实际上设置了断言。

如果您想使用括号将这些断言作为函数调用,可以使用像脏柴 (和因果报应)这样的插件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34133877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档