问题标签 [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.
unit-testing - 同步事件的骨干单元测试策略?
我的模型在每次同步后设置 startAttributes:
我该如何继续测试这是否正确完成?
我不能在没有存根的情况下调用 save ,因为它会导致错误,但是如果我存根它,则永远不会触发同步事件。如果我存根同步方法,同样的事情也适用。
mocha.js - 将 JSHint 与 Mocha 和 Chai 一起使用
我正在运行 Mocha 测试(使用 Chai 作为断言库)。
目前,JSHint 每次遇到这样的行时都会发出警告:
期望(错误).to.be.null;
报告的问题是:
需要一个标识符,而是看到“null”(保留字)。
JSHint 是否有任何放松选项来解决此问题?目前我唯一找到的唯一解决方案是在文件开头包含特殊选项:
/*jshint -W024 */
问题在于它需要包含在每个测试文件中(我宁愿将 JSHint 选项与代码本身分开)。我似乎没有在选项列表中找到太多。
selenium - 在 webdriver.io 中使用相同的选择器计算元素
我正在使用带有 chai 和 mocha 的webdriver.io进行测试。
在我的一项测试中,我需要计算页面中有多少具有相同 CSS 类的元素。webdriver.io API似乎都没有返回数组。
如何实现?
javascript - 柴单元测试-expect(42).to.be.an('integer')
根据http://chaijs.com/api/bdd/#a,a
/an
可用于检查变量的类型。
。一种)
@param{ String } type
@param{ String } message _optional_
a
和an
断言是可以用作语言链或断言值类型的别名。
但是,我无法检查整数的变量。给定的示例,例如expect('1337').to.be.a('string');
为我工作,但以下不:
运行 mocha 时,它们都给了我以下错误:
如何用 chai 测试一个整数的变量?
javascript - 无法调用未定义的方法“ui”
使用带有 JADE 的节点作为视图引擎。我只是想在一本名为“使用 Node 和 Express 的 Web 开发”的书之后进行一些页面测试。
我收到以下错误:
当我尝试调用 mocha.ui
整个通话:
我的路径结构是:
还设置了 node_modules 的可见性:
通过firebug检查,可以访问以下css:
尝试将 js 文件移动到不同的文件夹,更改脚本调用,谷歌搜索。
非常感谢你。
angularjs - 将失败消息分配给期望调用
我目前正在学习 AngularJS,其中一部分涉及创建测试。目前,我正在尝试研究如何为失败的测试创建更有用的错误消息。例如,如果我在 Java 领域并编写 JUnit 测试,我会做类似这样的事情:
这样,如果检查失败,我将在日志中获取第一个参数。
对于 mocha 中的布尔检查(使用 chai 和 sinon,以防有所不同),我有...
如果失败,那么我得到以下信息:
有没有办法在测试我的应用程序时复制有用的失败消息?
jquery - 如何使用 Sinon 存根 jQuery 方法?
我在 Ember 视图中有以下代码:
我正在尝试测试执行tooltipster()
时调用的方法,postRender()
但我在监视tooltipster()
Sinon 时遇到了一些麻烦。到目前为止,这是我的规格:
但这抱怨view.$()
是未定义的。
关于如何使这项工作的任何想法?
谢谢!
javascript - 使用 Mocha 和 Chai-as-Promised 测试被拒绝的 Promise 的特定属性
我正在尝试使用Chai-as-Promised、Mocha和“应该”方言来测试被拒绝的 Promise 的细节。Promise 由bluebird实现。
这工作正常:
该错误有一个“状态”属性。我想断言状态是 401
这不起作用:
似乎在不引用“rejected”或rejectedWith(Error) 的情况下进行断言的任何尝试都会失败,并且只会将错误打印到控制台。
如何深入了解拒绝的原因?
selenium-webdriver - 在量角器中使用 chai-as-promised
按照这个例子,我可以让测试使用期望语法,但不能使用应该语法。
以下作品:
但这不会:
由于我收到以下错误:TypeError: Cannot read property 'eventually' of undefined
我认为应该做它通常的扩展对象原型的事情,但这不知何故不适用于 webdriver 承诺对象。这里有什么问题?