问题标签 [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.
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
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 有类似的砖墙,并且无法找到任何替代方法来成功地自动化测试。我觉得一个白痴。
javascript - 如何使用 Snap.svg 在 Karma 中编写与 SVG 图形交互的单元测试?
我正在开发一个使用 SVG 图形进行大部分显示和交互的网络应用程序。我想使用 Karma 创建加载 SVG 资产的单元测试,确保存在某些组/路径等。
我还没有找到任何关于如何做到这一点的直接答案,或者我自己还没有找到答案。我正在尝试通过这样的简单测试(使用 mocha & chai):
最初,我假设在 karma.conf.js 的“文件”指令中包含 svg 文件就足够了:
但是,尝试从app/img/decal.svg
或base/app/img/decal.svg
同时加载 svg 文件会导致 404 错误。我也尝试过使用“代理”指令,如this SO answer中所述,但还没有让它工作(如上所示)。
这是业力可以做的事情,还是应该以不同方式处理的用例?我需要加载 SVG 并与之交互,以便为这个游戏编写单元测试。
mocha.js - 业力和摩卡之间的区别
我是 Javascript 世界的新手,主要是 OOP。我试图在网上查找 Karma 和 Mocha 之间的明确区别,但徒劳无功。我知道 Karma 是一个 Test Runner,而 Mocha 是一个单元测试框架,但 Mocha 也有自己的驱动程序,可用于在浏览器中运行测试。也就是说,我不明白 Karma 带来了什么,以及为什么人们将这些结合使用。
javascript - Karma 测试在 Firefox 中失败并出现奇怪的错误
我的一项测试有一个非常奇怪的行为。它在 Chrome 中成功运行,但在 Firefox 中总是失败。
它测试指令并在beforeEach
块中发生错误。
该指令本身在 Firefox 中可以正常工作。beforeEach
编译它并在范围上设置一些属性。看起来很奇怪,所有的describe
块测试都报告他们已经通过了,但是 WebStorm 报告说 28 秒中只有 24it
秒完成了。
任何想法黑客正在发生什么?
mocha.js - 如何在 mocha 记者中获取测试的文件名
有没有办法在 mocha 记者中获取当前测试的文件名?
我在基础和示例中找不到任何东西。
javascript - 在 Karma-mocha 中没有定义 chai
我正在使用 mocha-phantomjs 配置成功运行我的测试用例。现在我正在使用 Karma 启动器运行这些测试。但我明白了Chai is not defined
。
这是我的配置文件。
我已经研究过它并找到了这个链接,
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
任何帮助,将不胜感激,
提前致谢!
karma-runner - 为什么 karma-cli 不接受文件作为命令行参数?
我正在使用我的项目中的配置,但想一次只为一个特定的测试脚本运行业力。我不想只为这种情况创建一个全新的配置文件,而是宁愿只传递我想要运行的脚本(所以基本上告诉 karma 使用files: ['myTest.js']
.
但是文档中似乎没有针对该 AFAICT 的任何选项。为什么会缺少这个?这似乎是 IMO 的一项基本功能。
javascript - 无法读取 null 的属性“spyOn” - 在 angularJS 单元测试中模拟一个承诺
我正在尝试使用以下代码模拟一个使用 spyOn 返回承诺的函数:
这会引发此错误:
scope.confirmModal
肯定存在于这种情况下,因为我能够 console.log 它。
任何指针将不胜感激!