问题标签 [chai]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
459 浏览

unit-testing - 同步事件的骨干单元测试策略?

我的模型在每次同步后设置 startAttributes:

我该如何继续测试这是否正确完成?

我不能在没有存根的情况下调用 save ,因为它会导致错误,但是如果我存根它,则永远不会触发同步事件。如果我存根同步方法,同样的事情也适用。

0 投票
2 回答
3065 浏览

mocha.js - 将 JSHint 与 Mocha 和 Chai 一起使用

我正在运行 Mocha 测试(使用 Chai 作为断言库)。

目前,JSHint 每次遇到这样的行时都会发出警告:

期望(错误).to.be.null;

报告的问题是:

需要一个标识符,而是看到“null”(保留字)。

JSHint 是否有任何放松选项来解决此问题?目前我唯一找到的唯一解决方案是在文件开头包含特殊选项:

/*jshint -W024 */

问题在于它需要包含在每个测试文件中(我宁愿将 JSHint 选项与代码本身分开)。我似乎没有在选项列表中找到太多。

0 投票
4 回答
10514 浏览

selenium - 在 webdriver.io 中使用相同的选择器计算元素

我正在使用带有 chai 和 mocha 的webdriver.io进行测试。

在我的一项测试中,我需要计算页面中有多少具有相同 CSS 类的元素。webdriver.io API似乎都没有返回数组。

如何实现?

0 投票
6 回答
20735 浏览

javascript - 柴单元测试-expect(42).to.be.an('integer')

根据http://chaijs.com/api/bdd/#aa/an可用于检查变量的类型。

。一种)

@param{ String } type

@param{ String } message _optional_

aan断言是可以用作语言链或断言值类型的别名。

但是,我无法检查整数的变量。给定的示例,例如expect('1337').to.be.a('string');为我工作,但以下不:

运行 mocha 时,它们都给了我以下错误:

如何用 chai 测试一个整数的变量?

0 投票
1 回答
130 浏览

javascript - 无法调用未定义的方法“ui”

使用带有 JADE 的节点作为视图引擎。我只是想在一本名为“使用 Node 和 Express 的 Web 开发”的书之后进行一些页面测试。

我收到以下错误:

当我尝试调用 mocha.ui

整个通话:

我的路径结构是:

还设置了 node_modules 的可见性:

通过firebug检查,可以访问以下css:

尝试将 js 文件移动到不同的文件夹,更改脚本调用,谷歌搜索。

非常感谢你。

0 投票
2 回答
3545 浏览

angularjs - 将失败消息分配给期望调用

我目前正在学习 AngularJS,其中一部分涉及创建测试。目前,我正在尝试研究如何为失败的测试创建更有用的错误消息。例如,如果我在 Java 领域并编写 JUnit 测试,我会做类似这样的事情:

这样,如果检查失败,我将在日志中获取第一个参数。

对于 mocha 中的布尔检查(使用 chai 和 sinon,以防有所不同),我有...

如果失败,那么我得到以下信息:

有没有办法在测试我的应用程序时复制有用的失败消息?

0 投票
1 回答
7651 浏览

javascript - ChaiJS 应该 - 测试空字符串

根据shouldJS网站上的文档,我应该能够做到这一点:

ChaiJS站点没有 should 语法的示例它为expect列出了它,并且上面的示例似乎可以工作。

然而,这会产生:

empty()具有should样式的 Chai 库的语法是什么?

0 投票
2 回答
1085 浏览

jquery - 如何使用 Sinon 存根 jQuery 方法?

我在 Ember 视图中有以下代码:

我正在尝试测试执行tooltipster()时调用的方法,postRender()但我在监视tooltipster()Sinon 时遇到了一些麻烦。到目前为止,这是我的规格:

但这抱怨view.$()是未定义的。

关于如何使这项工作的任何想法?

谢谢!

0 投票
2 回答
4091 浏览

javascript - 使用 Mocha 和 Chai-as-Promised 测试被拒绝的 Promise 的特定属性

我正在尝试使用Chai-as-PromisedMocha和“应该”方言来测试被拒绝的 Promise 的细节。Promise 由bluebird实现。

这工作正常:

该错误有一个“状态”属性。我想断言状态是 401

这不起作用:

似乎在不引用“rejected”或rejectedWith(Error) 的情况下进行断言的任何尝试都会失败,并且只会将错误打印到控制台。

如何深入了解拒绝的原因?

0 投票
2 回答
3352 浏览

selenium-webdriver - 在量角器中使用 chai-as-promised

按照这个例子,我可以让测试使用期望语法,但不能使用应该语法。

以下作品:

但这不会:

由于我收到以下错误:TypeError: Cannot read property 'eventually' of undefined我认为应该做它通常的扩展对象原型的事情,但这不知何故不适用于 webdriver 承诺对象。这里有什么问题?