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

jasmine - 茉莉的词序是否正确?

在我的新手理解中,Jasmine 提供以下语法:

期望('实际').toEqual('期望'); 这个顺序和话语使我感到困惑。我的理解正确吗?

0 投票
0 回答
366 浏览

rhino - Rhino 和 Jasmine 以及 defineClass

我有一些 javascript 代码使用在 Java 中定义的函数和 Rhino。

我正在尝试在 jasmine-maven-plugin 中对其进行测试。我对如何让 defineClass 发生感到困惑。

defineClass 是 Rhino 中 shell 的一部分。它没有添加到语言中。所以我不能只把defineClass写到一个普通的js文件中。

我想不出任何办法让 jasmine-maven-plugin 调用我的一些 java 代码来调用ScriptableObject.defineClass.

我即将在 jasmine-maven-plugin 的一个分支中进行编辑以为此发明一些东西,但我在这里发布以防我遗漏了一些东西。

0 投票
1 回答
926 浏览

jasmine - jasmine-maven-plugin 和 jasmine.log

在使用 jasmine-maven-plugin 运行规范时,我找不到查看调用 jasmine.log 的结果的方法。有其他人在这方面取得成功吗?这是一个示例规范:

});

0 投票
4 回答
3298 浏览

ruby-on-rails-3 - 使用 Jasmine 和 Rails 3.1 测试 Coffeescript

假设我在 Coffeescript 有一堂课:

想在 Jasmine 中测试:

但我得到错误TypeError: Result of expression 'window.game.opponents' [undefined] is not an object.

这种window.game方法对我来说似乎也很尴尬。@game = new MyGame如果我在收到错误时尝试定义它,ReferenceError: Can't find variable: MyGame但我想这与 Coffeescript 的包装方式有关?

更新:这个问题看起来更像是一个参考问题,如上所述。我正在跑步guard-jasmine,看起来像

我的jasmine.yml文件有:

我得到了一个,ReferenceError: Can't find variable: MyGame所以我认为它要么是 Rails 3.1 资产管道的东西,要么是 Coffeescript 包装对象的方式。

0 投票
2 回答
16864 浏览

coffeescript - 如何在咖啡脚本的特定范围内声明变量?

我正在尝试在使用 beforeEach 块的咖啡脚本中编写茉莉花测试。这遇到了咖啡脚本的变量范围问题。这是我想写的:

但是,这不起作用,因为scopeand$browservar在最内部的范围内声明。也就是说,一次在块中beforeEach,然后再次在it块中。我可以通过初始化它们来强制在正确的范围内声明变量,但这似乎很奇怪:

这有效,但它编译成的 javascript 实际上是

我只需要这条线var $browser, ctrl, scope;。我可以在coffeescript中更简洁地写这个吗?

0 投票
2 回答
2013 浏览

backbone.js - Backbone.js 和 Jasmine Spys 没有被调用

我试图测试当一个元素被点击时,一个函数被调用。看起来很容易,但我一定错过了一些愚蠢的东西,因为我似乎无法让这个简单的例子工作。

这是我的看法

这是我的茉莉花测试:

本次运行的结果是:

错误:预计已调用 showDetails 上的间谍。在新的 (http://localhost:57708/JobMgr2/test-js/lib/jasmine-1.0.2/jasmine.js:102:32) 在 [object Object].toHaveBeenCalled (http://localhost:57708/JobMgr2 /test-js/lib/jasmine-1.0.2/jasmine.js:1171:29) 在 [object Object]。(http://localhost:57708/JobMgr2/test-js/spec/LaserMonitorSpec.js:33:34) 在 [object Object].execute (http://localhost:57708/JobMgr2/test-js/lib/jasmine -1.0.2/jasmine.js:1001:15) 在 [object Object].next_ (http://localhost:57708/JobMgr2/test-js/lib/jasmine-1.0.2/jasmine.js:1790:31 ) 在http://localhost:57708/JobMgr2/test-js/lib/jasmine-1.0.2/jasmine.js:1780:18

编辑:为完整性添加夹具模板:

0 投票
7 回答
41490 浏览

jasmine - 如何让 WebStorm 识别 Jasmine 方法?

我有一个包含一些Jasmine规范的node.js项目。根据jasmine-node的要求,规范位于 spec/ 子目录中,并具有 .spec.coffee 扩展名。

当我在WebStormbeforeEach IDE 中打开我的一个规范文件时,所有对和的调用都以蓝色波浪下划线显示,describeit带有工具提示:“未解析的函数或方法 it()”。因此,即使我使用的是3.0 EAP并且它应该有一定数量的 Jasmine 支持,但它并不会自动发现这是一个 Jasmine 规范文件这一事实。

我尝试进入 File > Settings > JavaScript Libraries,并将 Jasmine 添加为库(指定 jasmine-2.0.0.rc1.js 的路径),然后转到 Usage Scope 子页面并在“项目”旁边的下拉列表,但这没有效果 - Jasmine 方法仍然显示为未解决。

我如何告诉 WebStorm spec 子目录中的所有文件和/或扩展名为 .spec.coffee 的所有文件都是 Jasmine 测试,并让它识别这些测试正在使用的 Jasmine API?

0 投票
1 回答
350 浏览

javascript - 为茉莉花运行的文档样式规范(-headless-webkit)

我正在使用 jasmine 进行 javascript 测试。如何设置获取完整规范,例如测试列表而不是“.......”格式?

当我使用guard进行测试时,实际执行的测试集相当小,我发现列出完整的规范行更有用。感谢您提供有关配置 jasmine 的提示。

0 投票
3 回答
20223 浏览

javascript - 如何为包含来自另一个类/文件的全局变量的方法编写 jasmine 测试?

我的测试失败,原因如下:

ReferenceError:找不到变量:文件中的moving_canvas_context(第5行)

我理解测试失败的原因。它不理解该变量,因为它是在单独的 JavaScript 文件中定义的。但是,它是全局声明的,并且在现实中有效。

如何为此clear_canvas功能编写茉莉花测试?

JavaScript Canvas_Actions

茉莉花测试Canvas_Actions

0 投票
1 回答
1903 浏览

jquery - 如何使用 Jasmine 测试 JQuery 插件?

用 Jasmine 对 JQuery 代码进行单元测试的最佳方法是什么?

我有这个简单的 jQuery 测试应用程序:

这按预期工作 - 加载文档时 div#log 为空,单击时添加到 #log 并清除 #log。

但我认为不可能对此进行单元测试,因为 JQuery 代码位于 HTML 页面内。

所以,我像这样重写了它:

并将 JQuery 代码外部化到一个单独的文件中 - 就像这样 - 基于从http://starter.pixelgraphics.us/生成的 jQuery 插件代码

这也按预期工作。

但是,我对 Jasmine 脚本的尝试不起作用。

我已经尝试了上述的各种排列 - 都失败了:

是否可以测试以这种方式编写的插件?

以另一种方式编写代码以使其更具可测试性会更好吗?