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

javascript - 如何用 Jasmine 模拟 JQuery?

如何测试某个 JQuery 选择器是否已使用 Jasmine 执行?我正在尝试执行以下操作:

但是在这个调用之后,$('div')返回Object { selector="div", context=document, NaN=div.spec, more...},虽然它必须返回(并且$.fn.init('div')确实返回它)[div.jasmine_reporter, div.banner, div.logo, 4 more...]:。这些东西自然会破坏代码,因为 JQuery 对象不再可用。

例子:

假设我想测试一个 JQuery 选择器已被调用,我写道:

这导致 Jasmine 出现错误:Error: Expected a spy, but got undefined.. 然后我在 $('html') 行的 FireBug 中设置了一个断点,当我到达那里并尝试观察时$('html'),我得到的值是什么:

如果我注释掉spyOn,那一行$('html')的计算结果为:

这也是我期望看到的spyOn

0 投票
1 回答
5741 浏览

javascript - 用 Jasmine 测试 jQuery Hover

我应该如何使用 Jasmine 测试 jQuery 悬停动作?我的 jQuery 看起来像

我如何模拟用茉莉花移动悬停动作并期望“someid”元素被隐藏并按应有的方式显示?

0 投票
2 回答
9113 浏览

node.js - 使用 jasmine 和 node.js 测试 Web API

我们编写了一个 RESTful Web API,它使用 node.js 响应 GET 和 PUT 请求。我们在测试 API 时遇到了一些困难。首先,我们使用了 Zombie.js,但它没有很好的文档记录,所以我们无法让它发出 PUT 请求:

之后我们尝试使用名为restler的 REST 客户端,这没问题,因为我们不需要任何高级浏览器模拟。由于请求似乎是异步的,因此失败 - 即测试是无用的,因为它在调用“成功”回调之前完成:

我们将感谢有关替代测试框架或同步请求客户端的任何提示。

0 投票
1 回答
426 浏览

jquery - jQuery docment.ready 中的 Coffeescript 调用函数

茉莉花测试:

班级:

这个测试对我来说失败了,因为所选的类没有被添加到夹具中,而且我认为我没有正确调用该函数。我怎么称呼

$('#rectangle').click

在我的测试中起作用?谢谢。

0 投票
1 回答
1259 浏览

sencha-touch - 使用 Jasmine 测试 Sencha 触摸控制器

我有一个 Sencha Touch MVC 应用程序,我正在尝试编写一些使用 Jasmine 的测试。我已经取得了一些成功,但到目前为止我在尝试测试控制器的操作方法时感到困惑。

例如,我有一个如下所示的操作方法:

其中contactMapPanel 是包含在contactPanel 中的面板。在 Jasmine 中测试此方法的最佳方法是什么?如何测试活动项目确实正确设置为contactMapPanel?

0 投票
1 回答
278 浏览

javascript - 你会说哪些开源项目写得很好 Jasmine / Jasmine-Jquery 测试?

我正在尝试学习如何测试我将要编写的 jquery 插件。

我想知道是否有任何 Jasmine、Jasmine-jquery github(或任何其他开源代码)项目写得非常好,我可以阅读 Jasmine 测试。

谢谢!

0 投票
1 回答
502 浏览

javascript - 使用 jasmine 测试backbone.js 应用程序 - 带有绑定元素的视图

在我的应用程序中,我有一个视图,它绑定到 DOM 中已经存在的 html 元素

我对以下茉莉花测试有疑问:

测试失败,结果 this.app.el == ''

我错了还是这不应该是正确的行为?

0 投票
2 回答
2716 浏览

templates - 使用模板进行 Jasmine 测试

我正在尝试使用 Jasmine(带有 yaml 配置的宝石)来测试 Backbone.js 应用程序。我正在使用像Todo 示例这样的下划线模板。

我的问题是我无法在我的模型/视图之前加载模板,因此模板调用会导致这些类在加载时出错。

我已经阅读了有关 jasmine-jquery 插件来做固定装置的信息,但问题是我的 src 文件(模型/视图)在我得到规范文件并能够设置所需的固定装置之前就被加载并失败了。

如何让模板足够早地加载,它们可以用于重置我的类?

0 投票
5 回答
6397 浏览

view - SpyOn 使用 jasmine 的主干视图方法

我有一个主干视图,我想创建一个测试来确认某个元素上的单击事件将调用绑定到该元素的函数。我的看法是:

我的规格是:

然而,上面的视图定义在原型proto上创建了 answerYes 方法,但是间谍在视图中的实际实例上创建了一个函数,所以我最终得到了一个 view.answerYes() ,它是间谍和 view.__proto__.answerYes,这是我真正想要监视的那个。

如何创建一个间谍,以便它覆盖视图定义的 answerYes 方法?

0 投票
2 回答
624 浏览

coffeescript - Jasmine spyOn 与 CoffeeScript on Rails 3.1 与 test_track

我将 Jasmine 与 CoffeeScript(在 Rails 3.1 中)和test_track 一起使用。其他一切都很好,但我不能在函数调用上使用 spyOn:

期望失败。怎么了?

更新:相同的代码适用于tryjasmine。这可能是带有 test_track 的 jasmine 版本的错误。