问题标签 [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 投票
2 回答
9775 浏览

typescript - 从命令行使用 Chai 和 TypeScript 运行 mocha 测试

我试图在命令行上运行时让 TypeScript、mocha 和 chai 一起工作。我正在使用 TypeScript 版本 0.9.1.1。

我有CalculatorTest.ts:

我还有一个单独的 Calculator.js 文件。

我可以在带有页面的浏览器中正常运行:

但是,如果我尝试在命令行上运行

或者

我得到错误:

有什么方法可以查找 chai 对象吗?

更新:以下是有关取消注释导入时会发生什么的更多信息:

如果我将chai.d.ts 从DefiniteTyped 更改为启动

并将文件中的前几行更改为:

然后文件编译成功。

但是,当我从命令行运行时,我得到

生成的 JavaScript 文件开头为:

我相信 TypeScript 在这里生成了一个模块,因为我有 import 语句。

0 投票
2 回答
898 浏览

angularjs - 测试角度范围的实例

我正在使用 Karma、Mocha、Chai 和 CoffeeScript 堆栈进行单元测试,并希望测试一个变量是一个角度范围。

像这样的东西会很好但不起作用:

我已经尝试了所有我能想到的变体,包括$rootScope::$rootScope.$new()作为instanceOf.

有没有办法做到这一点?


目前我正在这样做:

这不太理想。


回答:

这是咖啡/摩卡/柴的“空”答案

0 投票
9 回答
58604 浏览

javascript - Chai:如何使用“应该”语法测试未定义

基于教程使用 chai 测试 angularjs 应用程序,我想使用“应该”样式添加一个未定义值的测试。这失败了:

出现错误“TypeError: Cannot read property 'should' of undefined”,但测试以“expect”样式通过:

我怎样才能让它与“应该”一起工作?

0 投票
2 回答
1028 浏览

mocha.js - 在 chai.expect 错误中格式化对象

当测试失败时,我正在使用 比较两个对象expect(x).to.deep.equal(y),我想在浏览器测试报告中查看实际值。相反,我看到这样的事情:

所以它并没有真正显示出任何有用的东西。

有没有办法自定义 chai.js 如何格式化这些对象?

0 投票
1 回答
672 浏览

express - Mocha websocket 测试不会可靠地失败/通过

我正在尝试使用 Mocha 为 websocket 演示编写一些简单的测试。我得到了非常不一致的结果。我有:

两个测试都应该失败。如果我在新启动的节点服务器实例上运行它们,它们都会通过。如果我再运行它们几次,第一次最终会失败。

我尝试了几种不同的编码方式,以及几个断言库(首先是 should.js,然后是 chai 的 should(),现在是 chai 的期望)。

0 投票
1 回答
413 浏览

javascript - Ember.js/Rails 与夹具的集成测试

我正在尝试为我的ember.js rails应用程序设置一个测试环境,并决定Konacha使用mochaand chai。我目前最大的问题是在测试环境中设置fixtures我的。ember models如果你实现了这个,你们中的任何人都可以解释你的文件结构和设置吗?有一些网站可以非常简要地解释它,但我更喜欢更清晰的解释。

0 投票
1 回答
27326 浏览

javascript - Reset "called" Count on Sinon Spy

How do I reset the "called" count on a Sinon spy before each test?

Here's what I'm doing now:

But when I check the call count in a test:

...the test fails and reports that the method was called X number of times (once for each previous test that also triggered the same event).

0 投票
1 回答
5196 浏览

javascript - Mocha/Chai 异步测试“完成()”fn 不起作用

我正在测试一个银行模型,如下所示:

load 调用向我的服务器发出 ajax 请求。我的问题是expect(true).to.eql(false);抛出一个Uncaught Assertion Error,我不知道为什么。我正在使用推荐的 Mocha 策略来结束我的测试用例。我做错了吗?

谢谢。

0 投票
1 回答
5301 浏览

javascript - 在chai中测试错误类型

我目前正在使用chai. 我想测试我的一种方法引发的错误。为此,我编写了这个测试:

这是方法:

问题是chai测试失败,因为它的方法抛出了TypeError...。这不应该失败,因为这是预期的行为。这是声明:

在此处输入图像描述

我通过以下测试绕过了这个问题:

但我更喜欢try... catch在我的测试中避免使用语句,因为chai它提供了像throw.

有什么想法/建议吗?

0 投票
2 回答
6510 浏览

javascript - 在命令行上运行 Mocha 并包含一个文件

我正在尝试使用 Mocha 设置一些 JS 单元测试,理想情况下,我想通过与网页相反的命令行运行它。(TL:DR;在底部)

首先,我做了一些废话测试,以确认 Array 按预期工作,我直接从 Mocha 的页面http://visionmedia.github.io/mocha/#getting-started提取,并且按预期工作。

此时,为了提高赌注,我创建了一个新文件 /src/cow.js :

连同我的测试文件/test/test.js:

并运行“摩卡”。此时我收到以下错误:

这显然不太理想。我认为这是因为 test.js 不知道 cow.js。如您所见,我使用了require,但这似乎不起作用。

TL:博士;

那么,将此文件(cow.js)添加到我的测试文件(test.js)中的正确方法是什么?目前,除了 mocha 和 nodeJS 之外,我没有使用任何库

谢谢!