问题标签 [grunt-contrib-jasmine]

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 回答
267 浏览

javascript - grunt-contrib-jasmine 是否限制测试次数?

我对咕噜声和茉莉花有点陌生,所以我希望我不会浪费你的时间。尝试运行超过 29 个测试时出现此错误:

我注释掉哪些测试无关紧要,只要少于 30 个测试,我就不会收到此警告。
我所有的测试都通过了,所以我认为这与它们无关。

我的(简化的)gruntfile:

我正在使用:
grunt-cli v0.1.13
grunt v0.4.5

grunt-contrib-jasmine ^0.9.0

如果需要,我很乐意添加更多信息。谢谢

澄清
我的意思是有 29 个it(...)子句(不是expect(...)'s)

更新 1
使用--debug标志运行时,我看到最后一个日志是这样的(运行少于 30 个规格时不会出现):

我没有放图像文件的整个 base64 表示,因为它很大
当我在浏览器中打开文件时,我看到它是 Jasmine 徽标。

更新 2
我注意到当我在另一台计算机(我们的 Jenkins 服务器)上运行它时它不会发生

0 投票
0 回答
219 浏览

javascript - 为什么从 cli 运行 jasmine 可以工作,但通过 grunt 任务却失败了?

当我运行jasmine without grunt测试时运行完美,但运行时grunt jasmine task它失败。

我认为这可能是因为 grunt 正在运行带有headless phantom js browser. 而命令行jasmine只是在本地运行测试。

从 CLI 运行:jasmine

使用 Grunt-cli 运行:grunt jasmine

Gruntfile.js:

茉莉花.json:

0 投票
1 回答
233 浏览

javascript - 在 grunt-contrib-jasmine 任务中运行 jasmine-jquery 时出错

我试图在我的单元测试中使用 jasmine-jquery 来测试 BackboneJS 视图,但是当我尝试运行测试时出现以下错误:

运行“jasmine:src”(茉莉花)任务

通过 PhantomJS 测试茉莉花规格

TypeError: 'undefined' is not an object (evalating 'jasmine.spiedEventsKey = function (selector, eventName) { return [$(selector).selector, eventName].toString() }') at

测试/供应商/jasmine-jquery-master/lib/jasmine-jquery.js:40

测试/供应商/jasmine-jquery-master/lib/jasmine-jquery.js:34

测试/供应商/jasmine-jquery-master/lib/jasmine-jquery.js:838

我正在使用 grunt、phantomjs、grunt-contrib-jasmine 任务和 grunt-template-jasmine-requirejs。

这是我的咕噜声配置

我是否设置不正确,或者我根本无法无头运行 jasmine-jquery?

谢谢

0 投票
2 回答
2377 浏览

angularjs - PhantomJS 意外退出,退出代码为 3221225477

我正在使用 Phantomjs 结合 grunt 和 jasmine 为 AngularJs 应用程序运行单元测试。当单元测试变得太多时,我遇到了奇怪的行为。在我的例子中是 754/755 单元测试。单元测试运行失败并显示以下消息

运行 PhantomJS ...错误

0 [ '' ] 警告:PhantomJS 意外退出,退出代码为 3221225477。使用 --force 继续。

由于警告而中止。

当我注释掉一些旧测试时,它们的数量变得少于 754/755,一切正常。当测试变得太多(超过 754/755)时,会出现此错误。我相信这可能与 PhantomJS 的内存分配有关,但我找不到与此错误代码相关的任何内容 - 3221225477,我无法确定。我没有找到任何解决方案,只有评论单元测试的解决方法。问题出现在 Windows 7 机器上,相同的测试构建在 MacO 上运行没有问题,无论有多少单元测试,所以它也与操作系统连接。

我将不胜感激任何有关它的帮助建议,谢谢!

0 投票
1 回答
1804 浏览

javascript - 当我设置 selectedIndex 时,为什么 Jasmine 会抱怨“尝试分配给只读属性”?

当我通过 grunt-contrib-jasmine 运行这个 Jasmine 规范时,我收到错误TypeError: Attempted to assign to readonly property。指向我设置 selectedIndex 属性的行:

有人知道我在这里想念什么吗?我使用phantomjs v1.9.8grunt-cli v0.1.13grunt-contrib-jasmine v0.9.2

0 投票
0 回答
90 浏览

javascript - 无法使用 requirejs 运行 Grunt-jsmine-istanbul 的代码覆盖

我一直在运行 jasmine 单元测试并使用伊斯坦布尔进行代码覆盖很长时间,但现在我遇到了一个使用 requirejs 的项目,但我无法为其运行伊斯坦布尔代码覆盖测试。

代码成功运行 jasmine 测试但生成节点代码覆盖

0 投票
1 回答
1144 浏览

node.js - Jasmine spy document.execCommand 未被调用

我写一个这样的测试

但它失败了Expected spy execCommand to have been called with [ 'foreColor', false, 'red' ] but it was never called.,我不知道为什么?

请帮忙。

注意:我使用grunt-contrib-jasmine 0.9.2

0 投票
0 回答
401 浏览

jasmine - 茉莉花单元测试时出现未知的提供程序错误

我在 js 文件中有一个如下模块

应用程序.js

如果我要编写一个单元测试用例,那么我应该如何在我的单元测试用例中加载模块?

是这样吗

另一种方式

哪个是正确的顺序或加载模块的正确方法......我总是收到以下错误

0 投票
1 回答
1026 浏览

javascript - Jasmine 2 Spec 没有任何期望

我有以下测试:

当我运行 Jasmine 2.2.0 时,出现以下错误:

Spec 'SpecLabel function when invoked return value should check something' has no expectations.

我错过了什么吗?在 Jasmin 1.x 中,我们可以做到这一点。在 for each 甚至 for 循环中都有期望。

如何修复这些类型的测试?这些情况的文档是什么?Jasmine 网站并不是很有帮助。

0 投票
1 回答
193 浏览

node.js - 格式错误的 Specrunner 文件 - grunt-template-jasmine-requirejs

我正在使用grunt-contrib-jasminewithgrunt-template-jasmine-requirejs来生成模板。在 Node v0.12.14 上一切正常,但是当我升级到 Node v4.5.0 时,我的 specrunner 文件输出格式错误。它在输出中包含大量的 JavaScript 以及 HTML。示例块:

这是我的 Gruntfile 中的“茉莉花”部分:

'grunt-template-jasmine-requirejs' 的一些 'templateOptions' 是否发生了我不知道的变化?以下是我正在使用的版本: