问题标签 [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.
jasmine - 茉莉的词序是否正确?
在我的新手理解中,Jasmine 提供以下语法:
期望('实际').toEqual('期望'); 这个顺序和话语使我感到困惑。我的理解正确吗?
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 的一个分支中进行编辑以为此发明一些东西,但我在这里发布以防我遗漏了一些东西。
jasmine - jasmine-maven-plugin 和 jasmine.log
在使用 jasmine-maven-plugin 运行规范时,我找不到查看调用 jasmine.log 的结果的方法。有其他人在这方面取得成功吗?这是一个示例规范:
});
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 包装对象的方式。
coffeescript - 如何在咖啡脚本的特定范围内声明变量?
我正在尝试在使用 beforeEach 块的咖啡脚本中编写茉莉花测试。这遇到了咖啡脚本的变量范围问题。这是我想写的:
但是,这不起作用,因为scope
and$browser
将var
在最内部的范围内声明。也就是说,一次在块中beforeEach
,然后再次在it
块中。我可以通过初始化它们来强制在正确的范围内声明变量,但这似乎很奇怪:
这有效,但它编译成的 javascript 实际上是
我只需要这条线var $browser, ctrl, scope;
。我可以在coffeescript中更简洁地写这个吗?
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
编辑:为完整性添加夹具模板:
jasmine - 如何让 WebStorm 识别 Jasmine 方法?
我有一个包含一些Jasmine规范的node.js项目。根据jasmine-node的要求,规范位于 spec/ 子目录中,并具有 .spec.coffee 扩展名。
当我在WebStormbeforeEach
IDE 中打开我的一个规范文件时,所有对和的调用都以蓝色波浪下划线显示,describe
并it
带有工具提示:“未解析的函数或方法 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?
javascript - 为茉莉花运行的文档样式规范(-headless-webkit)
我正在使用 jasmine 进行 javascript 测试。如何设置获取完整规范,例如测试列表而不是“.......”格式?
当我使用guard进行测试时,实际执行的测试集相当小,我发现列出完整的规范行更有用。感谢您提供有关配置 jasmine 的提示。
javascript - 如何为包含来自另一个类/文件的全局变量的方法编写 jasmine 测试?
我的测试失败,原因如下:
ReferenceError:找不到变量:文件中的moving_canvas_context(第5行)
我理解测试失败的原因。它不理解该变量,因为它是在单独的 JavaScript 文件中定义的。但是,它是全局声明的,并且在现实中有效。
如何为此clear_canvas
功能编写茉莉花测试?
JavaScript Canvas_Actions
:
茉莉花测试Canvas_Actions
:
jquery - 如何使用 Jasmine 测试 JQuery 插件?
用 Jasmine 对 JQuery 代码进行单元测试的最佳方法是什么?
我有这个简单的 jQuery 测试应用程序:
这按预期工作 - 加载文档时 div#log 为空,单击时添加到 #log 并清除 #log。
但我认为不可能对此进行单元测试,因为 JQuery 代码位于 HTML 页面内。
所以,我像这样重写了它:
并将 JQuery 代码外部化到一个单独的文件中 - 就像这样 - 基于从http://starter.pixelgraphics.us/生成的 jQuery 插件代码
这也按预期工作。
但是,我对 Jasmine 脚本的尝试不起作用。
我已经尝试了上述的各种排列 - 都失败了:
是否可以测试以这种方式编写的插件?
以另一种方式编写代码以使其更具可测试性会更好吗?