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

typescript - Karma + Mocha 与 Typescript 结果`找不到变量:需要`或`空测试套件`

我的业力配置:

和测试文件

结果是

空的测试套件。

当我更改为files: ['test/**/*-test.js'],files: ['test/**/*-test.ts'],,结果是:

找不到变量:需要

完整来源在:https ://github.com/Ridermansb/webpackKarmaAngularTypescriptStarter

0 投票
1 回答
902 浏览

javascript - 业力覆盖未能显示正确的结果

我需要一些关于带有 browserify 覆盖范围的 Karma 帮助。我在这里运行的测试创建了一个 repo:

https://github.com/jotaoncode/web-istanbul

我的报道结果如下: 报道结果

测试仅在函数索引上运行。但正如您所见,结果为 100%,并且仅将文件的第一行标记为绿色。

我见过伊斯坦布尔正确显示覆盖率值的情况,我已经更改了测试和源,但什么也没改变。

我也有这个业力配置:

如果您运行测试,您会发现它实际上工作正常,但覆盖率报告不正确。

0 投票
2 回答
5041 浏览

angularjs - 执行 gulp 任务时无法在业力配置文件上加载“mocha”框架

执行gulp test-browser命令时,我收到以下警告消息

WARN [reporter]: 无法加载“mocha”,它没有注册!
也许您缺少一些插件?

但是如果我执行karma start命令它工作正常并且它不显示任何警告消息。

为什么我会收到此警告消息?
我在这里想念什么?

包.json

gulpfile.js

业力.conf.js

0 投票
1 回答
942 浏览

karma-runner - 如何在特定的业力测试块中指定全局变量

我正在尝试在 Karma 中为 react/webpack 应用程序编写一个测试,该应用程序根据全局变量__CLIENT__是否为假来测试条件。

我如何才能使它阻塞的一个为真,而另一个为假?我尝试了设置global.__CLIENT__,但是无论我在测试中尝试将其设置为什么,我的模块中的 console.logs 都会返回 true。

我该如何做到这一点,希望以一种只保留一个文件并且可以在每个测试用例中指定的方式进行。这避免了 karma.conf ....

0 投票
1 回答
1624 浏览

chai - chai spy 传递 to.be.spy 断言,但在 .call() 上抛出错误“不是间谍或对间谍的调用”

我试图在我的单元测试中使用 chai 间谍。我正在使用 karma、mocha、chai 和 sinon。

我最初试图使用 chai 间谍来验证我的 Angular 应用程序中的回调是否在提供时被调用。但是为了解决这个错误,我将我的测试用例归结为我认为非常简单的一个。

我有以下单元测试

第一个“应该是间谍”测试通过了,据我所知,这意味着实际上正在创建一个间谍。但是,第二次测试失败并出现以下错误:

这尤其令人沮丧,因为我刚刚在之前的“应该是间谍”断言中验证了它是间谍。

以下是我的框架,因为我将它们包含在我的 karma.conf.js 中:

更令人沮丧的是,以下断言确实通过了:

我很乐意提供所需的任何其他信息。谢谢!

0 投票
1 回答
4832 浏览

angularjs - 使用 Angular、Babel (ES6)、Webpack 和 Mocha 设置 Karma

我正在尝试使用 Angular 在项目中设置 Karma。我目前收到的错误是:

错误:[$injector:nomod] 模块“app”不可用!您要么拼错了模块名称,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。 http://errors.angularjs.org/1.4.7/$injector/nomod?p0=app at /htdocs/src/javascript/app/controllers/fixedQuoteFormController_test.js:2073

我想要完成的只是初始设置,因为我显然没有测试。它似乎不喜欢我的 module.export 控制器。任何有关如何使此设置正常工作的帮助将不胜感激!

我的 Karma.conf 文件:

我的测试文件:(只是试图要求控制器)

我的控制器

0 投票
1 回答
126 浏览

javascript - Angular JS UT:具有服务返回 $resource 方法的控制器

我正在为我的角度控制器编写单元测试;从服务接收 $resource 对象。

但是单元测试失败说“Action.query(成功)”不是一个函数。

期待您的评论。

action.controller.js

action.service.js

action.controller.spec.js

0 投票
2 回答
742 浏览

angularjs - Angular/Karma:模拟数据未定义

我正在尝试创建一个单元测试来检查 GET 请求是否返回正确数量的项目,但我正在使用模拟数据来执行此操作。

我的测试如下所示:

测试.js

运行测试时,我不断收到此错误:

TypeError:无法读取未定义的属性“长度”

似乎不知为何controller.customers又回来undefined了。我是否正确地模拟了数据?

我对此很陌生,无法弄清楚我做错了什么。我什至不知道如何调试这样的问题。

任何帮助表示赞赏。提前致谢!

更新

我的控制器如下所示:

更新 2

我在测试中放置了一个 console.log,我的 customers 变量返回了 5 个似乎为空的对象。也许这就是问题所在?

在此处输入图像描述

0 投票
1 回答
164 浏览

javascript - ReactJS 的首选测试方法?

刚刚确定了我们第一个严肃的 React with NodeJs 项目的范围后,我们正在重新评估我们的测试过程。仅供参考,我们传统上是一个基于 Angular 的机构,运行 Jasmine/Karma 等设置,首先 - 兴奋 - 进入 ReactJS。

我们提出了几种方法,通常是基于 JsDOM 结合 Chai / Mockery / ShouldJS 等的 Mocha 框架。

但是建议使用我们没有经验的新玩家,例如TapeJest

然后是即将推出的浅层渲染功能,听起来不错,但在当前的限制下它是否稳定且可用 - 有人在使用它吗?今年早些时候在另一个线程上有一个有趣的读物。

人们通常仍将 Selenium 用于 React 项目,还是坚持他们在 Mocha 中可以做的事情,或者是否有首选的替代方案?仅此主题似乎就几乎可以提出建议。

我意识到这项工作有多种测试路线和“正确的工具”,尤其是在考虑以下事项时:

  • 状态测试
  • 事件模拟
  • 浅渲染
  • 实用程序测试
  • 真实的 DOM
  • ETC

因此,任何社区洞察力和经验输入首选流程将不胜感激!

0 投票
1 回答
1215 浏览

angularjs - 如何在 Angular 单元测试 (Mocha) 中模拟 $location.path

我正在使用 Karma、Mocha、Sinon 和 Chai 进行 Angular 单元测试,并且试图弄清楚如何模拟我在控制器中使用$location.

我的控制器执行以下重定向:

我想尝试使用间谍来模拟重定向,这就是我目前正在做的事情:

我收到以下错误:

TypeError: false 不是间谍或对间谍的调用!

我不确定如何正确地模拟这个,或者我是否以正确的方式来处理这个。

对单元测试专家的任何帮助表示赞赏。提前致谢!