问题标签 [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.
javascript - Coffeescript中的匿名函数如何测试它
我知道 Stackoverflow 中有很多关于这个的讨论,但我无法得到一个直接的答案。而且我对coffeescript知之甚少。
基本上,我有这个咖啡脚本
return42 = ->
42
当我编译时,我得到了这个
所以它被包裹在匿名函数中的函数,它没有暴露给世界。所以当我写这个测试
测试将失败,因为 return42() 未定义。我怎么能解决这个问题。
非常感谢你。:-)
javascript - 如何自定义 Jasmine 的目录结构?
使用 Jasmine Rubygem 时,我发现我必须遵守生成的目录结构,该目录结构在文件夹中有一个子文件夹,这非常javascripts
烦人spec
。我觉得它没用,因为我完全用 Javascript 编写。
我发现我可以public
通过更改生成的文件夹来更改它jasmine.yml
,但是,这不是我想要的,因为我仍然必须随身javascripts
携带文件夹。
有没有办法自定义这个文件夹结构?
ruby-on-rails-3.1 - Jasmine 规范未找到在 CoffeeScript 中定义的类
我正在 Rails 3.1 后端构建一个backbone.js 应用程序。我正在使用 CoffeeScript 编写主干类,并使用 Jasmine(通过 jasmine-headless-webkit)进行测试。
给定以下(部分)树:
...我希望avia_view_spec.js.coffee
知道关于Avia.AviaView
,它在avia_view.js.coffee
.
但是,我从运行中得到以下输出bundle exec jasmine-headless-webkit
:
我的jasmine.yml
包含以下内容:
我想我需要告诉 Jasmine 加载内容,avia_view.js.coffee
但我不完全确定如何加载。src_files
在部分中添加显式引用jasmine.yml
似乎没有什么区别......
有人可以告诉我我在这里做错了什么吗?我怀疑这很简单......
ruby-on-rails-3.1 - 使用 Jasmine 监视 Javascript 构造函数
我正在为一些 Javascript 类(backbone.js 视图,用 Coffeescript 编写)编写规范,并且我想确保一个视图构建另一个视图。
我试图通过监视构造函数来做到这一点,如下所示:
对 AviaView的initialize()
调用肯定会导致调用 MatricesView 构造函数,由这一行提供:
它绝对有效;如果我手动运行应用程序,我可以看到在initialize()
. 但是我的茉莉花规格失败了:
我已经和我的几位同事谈过,他们同意这应该可行……有人能建议一种监视构造函数的好方法吗?
javascript - 如何使用 Sinon.JS 存根 google.maps 库?
我在这样的 Backbone 模型中使用 google.maps 库(coffeescript):
在我的测试中,每当我尝试实例化 aRoute
时,显然都会遇到问题。我怎样才能google
在我的测试中存根,这样它就不会导致这个问题?
maven - 是什么导致 HTMLUnit 抛出“ReferenceError:“console”未定义。”?
我正在尝试将 jasmine 集成到我的 MVN 构建中以测试我的 Javascript 库。它现在已经开始抛出以下错误:
ReferenceError:未定义“控制台”。
很明显,这是我对控制台的使用导致了它的问题。我的 coe 在使用之前实际上会测试控制台的存在,但 MVN 似乎并不喜欢它。
有什么想法可以让它对这个问题大喊大叫吗?
javascript - 在 Jasmine 测试运行期间找不到 haml-js 模板
我正在尝试使用 Jasmine(通过 jasmine-headless-webkit)测试一些backbone.js 视图。一切都运行良好,除了我的 haml-js 模板在测试中无法访问。
我认为以下代码可以正常工作:
...但是当它作为 Jasmine 规范的一部分运行时,出现以下故障:
我怀疑我在jasmine.yml
. 我已经明确包含了它仍然失败的模板文件:
也许我只是在这里采取了错误的方法......我应该使用 Jasmine 来存根和模拟对 JST 和 jQuery 的调用吗?严格的单元测试方法说我应该这样做,在这种情况下,缺少模板访问不是问题。
任何提示 - 无论是我的测试方法,还是特定的 JST 失败,都将不胜感激。
javascript - 运行使用使用 Widget 工厂构建的 jQuery 插件的 jasmine 规范时出现 TypeError
我正在使用一个名为toggleEdit的 jQuery 插件进行内联编辑。
当代码在页面中实际使用时,一切正常。
但是,我的测试套件失败并出现以下错误:
TypeError: Cannot call method 'remove' of undefined
我追踪到它是从clear
这个特定插件的方法中触发的。它的源文件可以在这里找到。
该代码中有两个相关位:
1-_init
功能
如您所见,当插件第一次实例化时,它使用data
结构self
来存储新创建的元素。
2-clear
功能
然后该clear
函数尝试访问该结构并检索元素。那时,在 jasmine 规范中,它会因上述异常而失败。
有没有人见过类似的东西?
编辑:
这是我的规范,它是能够重现错误的最简单的代码:
http://alz.so/static/plugins/toggleedit/jquery.toggleedit.js
javascript - 使用 Jasmine 单元测试模拟鼠标点击
我是 Jasmine 的新手,到目前为止能够设置几个基本测试。我现在要做的是创建一个测试来模拟元素上的鼠标单击事件,例如 div、标签等
我的测试应该能够确定单击链接时是否会扩展 div 容器 - 我通过它的类名确定这一点。
我的源代码有一个监听点击事件的事件监听器:
和 HTML 标记是
我正在尝试的单元测试是:
但是源代码似乎从未拾取点击事件。
我究竟做错了什么?
提前致谢
jquery - 改进 Jasmine 规范以测试调用参数的属性
我正在使用以下 Coffeescript 代码来验证一个主干.js 视图的初始化是否构造了另一个:
这很好用,但我不禁认为应该可以改进它。我在想像这样的语法:
... wheretoHaveBeenCalledMatching
接受一个函数,该函数接受一些参数,并返回真值表示成功,否则返回假值。
有没有人遇到过这样的事情,还是我需要在这里自己动手?或者,有没有人更好地建议如何改进此代码?