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

angularjs - singleRun = true 时未创建业力覆盖文件

我正在使用 Karma 来运行我的单元测试,现在正尝试将其整合karma-coverage到我的流程中。我正在PhantomJS使用singleRun: true. 每当我这样做时,我的代码覆盖率报告器似乎都没有运行。如果我设置singleRun: false,则创建文件夹和文件。

为什么业力覆盖工具没有运行?

这是我的配置文件:

0 投票
6 回答
11006 浏览

karma-runner - 我如何在业力中只运行某些测试?

我已经正确设置了业力配置,配置文件,在后台运行,非常棒。一旦我更改并保存文件,它就会重新运行测试......所有 750 个单元测试。我希望能够运行一些。除了手动破解配置文件或注释掉许多文件中的数百个测试之外,有没有简单的方法可以做到这一点?

例如,当使用 mocha 运行命令行服务器测试时,我只使用 regexp: mocha -g 'only tests that I want'。使调试和快速检查变得更加容易。

0 投票
1 回答
1214 浏览

angularjs - 使用 templateUrl 和 Jade 测试 Angular 指令

我在我的 Web 应用程序中使用带有ExpressJade的Node.js ,并在顶部使用AngularJS 。通常,当我构建指令时,我会在指令定义的模板中包含 Html,然后我测试该指令以编写我需要的 Html 片段。但是现在我必须编写一个包含很长 HTML 的指令,所以我使用: 而且我想使用 Jade 来完成它。所以代码看起来像这样:templateUrl

服务器用这个处理调用的地方/snippet

所以我的问题是:我怎样才能测试这个指令?我通常使用 Karma 和 Mocha/Chai 进行单元测试:当我的指令将搜索时,它是否存在任何可以获取翡翠文件、处理它并将其用作假服务器的 karma 插件/snippet

0 投票
1 回答
904 浏览

angularjs - 业力单元测试 - 调用控制器的功能但无法注入服务对象

  1. 如果我的单元测试正在调用控制器中的函数并且该函数正在进行服务调用以获取详细信息。它会调用服务(StationService)吗?
  2. 我的 Karma 单元测试无法注入 StationService 并且无法调用服务。

我的代码。

0 投票
11 回答
24425 浏览

phantomjs - 您的平台上没有 PhantomJS 浏览器的二进制文件。请设置“PHANTOMJS_BIN”环境变量

我的 package.json 看起来像这样..

我的 npm 版本是 2.2.0

为什么我在运行 karma test 时会得到这个 - karma start my.conf.js

0 投票
1 回答
3362 浏览

angularjs - 在单元测试中提交角度形式

有没有办法在单元测试中提交表单?

我有一个像

例如

SignUpForm是有角度的fromController..但我找不到使用它或scope提交表单的方法...

最后一件事......由于一些不幸的我不能使用protractor或任何其他e2e包......我唯一的选择是进行单元测试......并且视图(注册表单)可以稍后更改......所以必须存在对它进行单元测试,以确保它仍然使用正确的参数调用正确的控制器......SignUpForm在每个测试中从模板加载......所以它是实际的形式,而不仅仅是它的$templateCache模拟

0 投票
1 回答
349 浏览

angularjs - Angular mock 找不到我的控制器,无法在 grunt 下使用 Karma 和 Requirejs 运行 js 单元测试

这是我在 Git Hub 中的示例代码:

https://github.com/Mellon/KarmaWithRequirejs.git

运行“grunt test”时,出现此错误。

0 投票
5 回答
21518 浏览

javascript - Karma、PhantomJS 和 es6 Promise

我正在编写一个使用新 es6 承诺的 JavaScript 库。我可以在 Firefox 中测试这个库,因为 Promise 已经定义好了。但是,当我尝试使用 Karma 和 PhantomJS 测试我的代码时,我得到了错误Can't find variable: Promise.。我猜这是因为 PhantomJS 浏览器还不支持 es6 承诺。

如何配置 Karma 以引入 polyfill 以实现承诺?

0 投票
1 回答
541 浏览

javascript - angularjs、karma 和 requirejs 测试用例错误

我正在为我的angularjs应用程序使用requirejs 。对于 TDD,我使用的是mocha。根据这篇文章,我正在编写我的测试用例,但是在执行测试用例时总是会出现这个错误

测试用例:

业力会议:

测试主要:

非常感谢任何解决此问题的帮助或指导

0 投票
1 回答
1917 浏览

javascript - 使用 Karma 和 Mocha.js 对多个用例进行单元测试

我对测试还很陌生,所以这个问题是关于最佳实践以及应该如何编写这个测试。我将 Karma 与 Mocha 和 Chai 一起使用来测试 Angular.js 应用程序。

我目前正在测试一个函数,该函数计算以特定顺序排列字母组合的方式数量。它遵循从辅音集或元音集提取字母的模式。

这些是我目前的测试:

这些测试有效,它们给了我有用的错误消息,但我不禁觉得我在做一些不必要的重复,因为我本质上是在用不同的值执行相同的测试。

有没有办法编写这些测试来维护错误消息结构,但不需要我写出来

每一次?

我想在没有大量测试文件的情况下测试大量案例,但要保持错误消息的可读性。

编辑: @Stas 回答的问题

@Stas 给了我正确的答案,那就是使用带有对象的循环来保存不同的测试用例。但是,由于他的答案是用我没有使用的 lodash 编写的,因此我在下面包含了我的最终循环代码以供参考。

scenarios我在这里循环的对象与@Stas 示例中的对象相同。

我不得不使用一个由四个相互调用的函数组成的链来编写循环,因为在循环内使用 Mocha 的回调语法for in只会导致最终的测试用例被保存到函数变量中。在循环外部定义函数,然后在内部调用它们可以解决此问题。