问题标签 [karma-mocha]

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 投票
0 回答
529 浏览

angularjs - 在 $timeout 的 AngularJS 上使用 mocha(无 e2e 测试)进行单元测试服务永远不会完成

我有一项服务需要通过 AJAX 调用数据库,这是对它的测试:

因错误而失败(因为done从未调用过 mocha):

我打电话不打电话$timeout.flush都没关系。当我在调用$timeout.flush后调用时(因为 AJAX 尚未返回),它会引发错误并记录到 console No deferred tasks to flush

我已经加载angular-mocks.js了我的karma.conf.js并且它们是相同的版本(角度和模拟,使用保持最新bower update)。

在 CEP 服务内部,调用 ajax 后,回调在 a 内部执行,$timeout(-> cb(data))并且无论出于何种原因都不会调用。我难住了。

我在 SO 中看到的所有问题都与 e2e、jasmine 和使用$httpBackend模拟的同步测试有关。我需要实际调用 PHP 脚本进行测试。另外,我已经设置了“代理”karma.conf.js

开发工具控制台显示请求正在完成但它正在停止$timeout

0 投票
3 回答
14372 浏览

javascript - 使用 Karma 运行的 Mocha 单元测试 - 未定义 done()

我正在尝试让用 Mocha 编写的测试来运行 Karma,它们有点工作,但是我不能使用 done() 方法来实现异步测试,这实际上使这些工具对我来说毫无用处。我错过了什么?

业力.conf.js

test-main.js(配置 RequireJS)

测试/fooSpec.js

虽然这是一个人为的例子,但如果我删除 done() 调用,它就会成功。事实上,我得到:

这是 done() 行。如何/为什么没有定义?我不明白在哪里配置 Mocha(或使用什么选项)。是否存在某种全局命名空间或元编程魔法导致 RequireJS 干扰 Mocha?

我正在 OS X 10.9.2 上的 Chrome 33 中运行测试,以防万一。我已经为此浪费了大量时间,并准备放弃自动化测试:(——与 QUnit/Karma/RequireJS 有类似的砖墙,并且无法找到任何替代方法来成功地自动化测试。我觉得一个白痴。

0 投票
1 回答
970 浏览

javascript - 如何使用 Snap.svg 在 Karma 中编写与 SVG 图形交互的单元测试?

我正在开发一个使用 SVG 图形进行大部分显示和交互的网络应用程序。我想使用 Karma 创建加载 SVG 资产的单元测试,确保存在某些组/路径等。

我还没有找到任何关于如何做到这一点的直接答案,或者我自己还没有找到答案。我正在尝试通过这样的简单测试(使用 mocha & chai):

最初,我假设在 karma.conf.js 的“文件”指令中包含 svg 文件就足够了:

但是,尝试从app/img/decal.svgbase/app/img/decal.svg同时加载 svg 文件会导致 404 错误。我也尝试过使用“代理”指令,如this SO answer中所述,但还没有让它工作(如上所示)。

这是业力可以做的事情,还是应该以不同方式处理的用例?我需要加载 SVG 并与之交互,以便为这个游​​戏编写单元测试。

0 投票
1 回答
12772 浏览

mocha.js - 业力和摩卡之间的区别

我是 Javascript 世界的新手,主要是 OOP。我试图在网上查找 Karma 和 Mocha 之间的明确区别,但徒劳无功。我知道 Karma 是一个 Test Runner,而 Mocha 是一个单元测试框架,但 Mocha 也有自己的驱动程序,可用于在浏览器中运行测试。也就是说,我不明白 Karma 带来了什么,以及为什么人们将这些结合使用。

0 投票
0 回答
163 浏览

javascript - Karma 测试在 Firefox 中失败并出现奇怪的错误

我的一项测试有一个非常奇怪的行为。它在 Chrome 中成功运行,但在 Firefox 中总是失败。
它测试指令并在beforeEach块中发生错误。

该指令本身在 Firefox 中可以正常工作。beforeEach编译它并在范围上设置一些属性。看起来很奇怪,所有的describe块测试都报告他们已经通过了,但是 WebStorm 报告说 28 秒中只有 24it秒完成了。

任何想法黑客正在发生什么?

0 投票
1 回答
1740 浏览

mocha.js - 如何在 mocha 记者中获取测试的文件名

有没有办法在 mocha 记者中获取当前测试的文件名?

我在基础和示例中找不到任何东西。

0 投票
2 回答
2890 浏览

javascript - 在 Karma-mocha 中没有定义 chai

我正在使用 mocha-phantomjs 配置成功运行我的测试用例。现在我正在使用 Karma 启动器运行这些测试。但我明白了Chai is not defined

这是我的配置文件。

在此处输入图像描述

我已经研究过它并找到了这个链接

0 投票
1 回答
2725 浏览

angularjs - 业力:ReferenceError:应用程序未定义

我按照http://www.yearofmoo.com/2013/01/full-spectrum-testing-with-angularjs-and-karma.html中的教程使用 Karma 测试 AngularJS 应用程序。

我的 karma.conf.js 看起来像这样:

我的测试:

公共/脚本/app.js

我在控制台中得到一个输出说:应用程序应该有一个 HomeController FAILED ReferenceError: app is not defined

任何帮助,将不胜感激,

提前致谢!

0 投票
1 回答
595 浏览

karma-runner - 为什么 karma-cli 不接受文件作为命令行参数?

我正在使用我的项目中的配置,但想一次只为一个特定的测试脚本运行业力。我不想只为这种情况创建一个全新的配置文件,而是宁愿只传递我想要运行的脚本(所以基本上告诉 karma 使用files: ['myTest.js'].

但是文档中似乎没有针对该 AFAICT 的任何选项。为什么会缺少这个?这似乎是 IMO 的一项基本功能。

0 投票
1 回答
666 浏览

javascript - 无法读取 null 的属性“spyOn” - 在 angularJS 单元测试中模拟一个承诺

我正在尝试使用以下代码模拟一个使用 spyOn 返回承诺的函数:

这会引发此错误:

scope.confirmModal肯定存在于这种情况下,因为我能够 console.log 它。

任何指针将不胜感激!