问题标签 [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 回答
11747 浏览

javascript - 用 Sinon 测试 JavaScript 点击事件

我正在尝试进行一些测试,以便能够更好地了解如何使用 Mocha、Chai、Sinon 和 jQuery 的组合来测试 DOM 事件。我想检查单击 div 元素时是否正确触发了警报功能。我知道 HTML 元素的设置是正确的 jQuery,但我不完全确定如何为下面的代码生成通过测试。特别奇怪的是,我在浏览器中打开 HTML 文件时出现了一个对话框,所以我知道 '$('#thingy').trigger('click')' 行正在做我所期望的。我目前收到以下信息,“TypeError:对象不是函数”

我的测试文件tests.js中的相关部分

我的 HTML 文件相当标准,index.html

0 投票
1 回答
2266 浏览

testing - 摩卡在浏览器中通过测试,在命令行上失败

我正在使用 mocha-grunt 能够在命令行上运行/查看我的客户端测试。出于某种原因,当我在命令行上运行测试时,似乎调用了 decrementColumn 两次。

我想知道 beforeEach 是否存在某种 phantomJS 窗口范围问题,因为如果我将该代码块(新级别实例化)复制到 decrementColumn 测试的顶部,则一切都适用于浏览器和命令行。

功能

测试

})

咕噜文件

SPECRUNNER

浏览器 命令行

0 投票
1 回答
1147 浏览

javascript - mocha 测试客户端和服务器端

我正在评估 mocha,但我无法解决一些基本问题,我编写了一个示例测试,我想使用 node.js 和使用 html 文件的浏览器运行它,但我找不到只写一个的方法对两者都有效的测试,如果我在测试文件中添加要求,这对 node.js 来说很好,并且我在浏览器中得到“未捕获的 ReferenceError:要求未定义”,删除我得到的要求“在节点 js 中未定义 chai

这是代码

这是测试

这是html

关于如何解决这个问题的任何想法?

0 投票
1 回答
201 浏览

javascript - Mocha passes test that should fail (ember-mocha-adapter)

The second test, saying that an h3 element exists, should clearly fail, but doesn't. What's going on?

Using Mocha, Chai, Ember, and ember-mocha-adapter, I created this simple example: http://jsfiddle.net/signer247/UD2D3/4/.


HTML


CoffeeScript


My JSFiddle: http://jsfiddle.net/signer247/UD2D3/4/

I built my JSFiddle off of this example: http://jsfiddle.net/UD2D3/1/

This is the ember-mocha-adapter: https://github.com/teddyzeenny/ember-mocha-adapter

0 投票
1 回答
1000 浏览

javascript - 如何在异步函数中包装 Mocha/Chai 测试?

我正在开发一个带有模块的框架,这些模块使用 Promise 异步加载。这些模块包含我想为其创建测试的方法(对于这个问题,可以假设它们是同步的)。

目前,我的代码类似于以下内容:

鉴于这Am.Module.load()本质上是对 RequireJS 的调用,以这种方式包装以返回一个承诺,因此,应该只在开始时加载一次,我该如何重写上面的内容?

我基本上希望有这样的东西:

不幸的是,上述方法不起作用 - 测试根本没有被执行。记者甚至没有展示这部分describe("StringHelper")。有趣的是,在玩弄之后,只有当所有测试都以这种(第二个代码片段)方式编写时才会发生这种情况。只要至少有一个以第一种格式编写的测试,测试就会正确显示。

0 投票
0 回答
1719 浏览

node.js - 使用 phantomjs、selenium-webdriver、nodejs 和 chai-webdriver 断言库进行单元测试

我想做的是在我的机器上运行小型单元测试。我已将所有必需的节点包和 phantomjs 驱动程序安装到我的 PATH 中。

运行上面的代码,

给我这样的结果。

现在事情就是这样.. 如果我将 url npmjs.org/chai-webdriver保存到我的机器上并运行相同的测试,那么它会通过而没有任何错误。

我不知道为什么..有人可以帮我解决这个问题..非常感谢!谢谢你。

0 投票
1 回答
723 浏览

javascript - 需要在 chai-as-promised 表达式中转换承诺值

我有一个解决对象的承诺。这个对象有一个.toString我需要测试的方法。所以我下面的表达式失败了,因为 promise 是一个对象,我将它与一个字符串进行比较:

我需要mypromise.toString()在控件到达之前在某处调用并使用它equal('1.4')。可能吗?

0 投票
0 回答
89 浏览

javascript - 由 Promise 超时创建的回调中的断言

我有一个基于传递参数检查用户身份验证的中间件。中间件使用实现承诺的模型来查找并返回要设置到请求参数中的用户。

问题是,在运行测试时,如果断言失败,则测试超时,大概是因为失败的断言抛出的异常无法被 Mocha 处理。

我正在 next() 函数内部进行断言 - 当测试未提供密钥时,它可以正常工作,我假设因为它没有在承诺的上下文中运行。

0 投票
1 回答
57 浏览

gruntjs - Grunt 插件 - Chai 测试断言

我有一个 Grunt 插件,我正在尝试为其编写测试。我正在尝试测试当我尝试对无效文件类型执行操作时,我的回调中是否出现错误。'err' 变量返回的 toString() 值为:

但是当我尝试将此作为字符串进行测试时,我得到了我怀疑的类型错误。

这将返回:

因此,我尝试创建一个新错误并与之匹配,但无济于事:

但这会返回:

这似乎是平等的,但我显然错过了一些非常基本的东西......

任何帮助将不胜感激。

更新

发生了一些非常奇怪的事情,因为如果我从测试字符串中取出一个空格,我会收到一条非常有效的消息:

回报:

当我把空格放回“否”和“处理程序”之间时,我得到一个非常奇怪的错误:

这将返回:

0 投票
2 回答
1355 浏览

node.js - 如何在 mocha 的 mocha.opts 文件中添加 chaijs 的断言?

我不知道这是否可能。mocha.opts我知道如果我们只使用 should.js 库,我们可以在文件中执行以下操作

但是由于chai是父模块并且assert是子模块chai,我如何在mocha.opts文件中要求它?

还是我错过了一些非常基本的东西?