问题标签 [jasmine-jquery]
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 - 我正在使用茉莉花 1.3。为什么我的 jasmine 测试页显示 1.2?
我有一个使用 Jasmine 测试其 Javascripts的 Rails 项目。(链接描述了设置,大致是jasmine
、jasmine-jquery-rails
和guard-jasmine
。)我最近在我的文件中运行bundle update
并整理了这些版本:Gemfile.lock
现在,guard-jasmine
在本地端口上启动一个 jasmine 服务器。当我访问这个时,我得到了一个 jasmine 测试页面,与 Jasmine 项目页面底部的那个页面没有什么不同。但是,该页面的顶部显示“Jasmine 1.2.0 修订版 1337005947”。
如果我打开 gem 文件bundle show jasmine-core
看看jasmine.js
我肯定有 1.3.1,但测试运行程序加载的版本肯定是 1.2.0。如何找出旧版本的来源,并要求它使用新版本?
javascript - 茉莉花似乎没有调用我的方法
我是 Jasmine 的新手,似乎很难让我认为是童话般的标准类型的东西运行。
我正在通过夹具加载 HTML 文件并尝试调用对 dom 上的元素的单击。我希望这会导致调用我尝试测试的 JS 文件的方法。当我尝试在开发人员工具中调试它时,应该在我的 js 文件中调用的方法永远不会遇到断点。因此,我假设没有调用代码,因此不会切换展开/折叠类。
我的测试:
部分夹具:
我正在尝试测试的 JS:
}();
该代码在正常使用中运行良好,所以我确信我在使用 Jasmine 的方式上遗漏了一些明显的东西。任何帮助,将不胜感激。
更新:我可以通过在测试中使用 call 而不是触发 click 事件来触发 togglestate 方法:
这似乎有点奇怪,因为我能找到的所有示例都对 click 非常满意。让我摆脱困境,但我仍然想知道我错过了什么。
javascript - 为每个场景使用 Jasmine 的测试用例
我正在尝试为我的排序程序编写一个茉莉花单元测试..我是编写茉莉花和测试用例的新手..在下面提供我的代码......你们能告诉我怎么做吗? ...
javascript - 如何测试输入表单域是否被聚焦?
对于以下注册表单,我将第一个输入字段配置id="signUpName"
为在呈现表单时聚焦。Backbone-forms用于创建表单。
我想用Jasmine v.1.3.0测试加载视图时是否关注某个输入表单字段:
茉莉花提示:
正如您从规范中看到的那样,我使用来自jasmine-jquerytoBeFocused()
的匹配器。我运行扩展的最新版本 1.5.93。我还发现了关于实现的讨论,并注意到他们同时将其更改为Ryan Greenberg 建议的替代实现。toBeFocused()
作为替代方案,我试图监视焦点事件 - 如果真的有一个?
茉莉花提示:
jquery - 茉莉花文本验证:如何规范化文本?
我有一个包含不同 HTML 元素中的文本的页面,我想要一种快速验证文本的方法。
使用 jasmine 和 jasmine-query 加载 HTML 和测试 DOM。
例如,我想验证此 HTML 中的文本
假设我想验证表中的每一行都包含正确的文本。茉莉花测试文件:
我会得到这个失败:
另一个实验是使用 jQuery.text() 提取,然后我仍然有一个错误,因为所有的空格:
给出了这个失败:
Capybara (for ruby) 有一种方法来规范化文本,这样我总能看到我的 HTML 的合理文本表示。我将如何以简单的方式规范空白,以便我可以进行这样的验证?
(我不希望得到像“你不应该跨 html 元素进行测试”这样的答案......因为这是问题的前提。实际上我喜欢对多个元素进行断言:它可读、简短,并且可以快速查看内容正在工作。当我从外向内测试时也非常必要)
jasmine - 茉莉花间谍元素onload
我正在动态创建一些这样的脚本:
这是我的规格:
对 js-2 的测试总是失败。我如何监视 js-1 onload 事件?
jquery-mobile - .toHaveBeenCalled() true 什么时候应该是 false
当我运行以下测试时,它通过了。它应该会失败(请注意进行 tap() 调用的注释行)。它只应该在进行 tap() 调用时通过。有人知道为什么在我不发送 tap() 事件时 $.mobile.loading 显示为已被调用吗?
这是它试图监视的电话:
谢谢,大卫
jasmine - Jasmine-jQuery '未定义不是函数'
每当我loadFixture()
在此文本下方进行呼叫或测试时,都会收到一条错误消息:
jasmine-jquery 似乎已加载,否则我得到ReferenceError: setFixtures is not defined
错误。
关于发生了什么的任何线索?
jasmine - 夹具存在但未加载
我正在加载一个带有loadFixtures('frontend.html');
. 根据我的控制台,夹具已加载:XHR finished loading: "http://localhost:4567/spec/javascripts/fixtures/frontend.html?_=1389008650540".
然而; 夹具无处可见?当我检查我的代码时,我看不到它。我试图用 jasmine-jquery 找到的 div 都失败了。
我假设它没有附加或其他东西。该怎么办?
提前致谢
javascript - Jasmine 无法识别我的(全局)功能
第一次使用Jasmine,还在尝试处理事情。使用 2.0.0 独立版本。我的 SpecRunner.html 中有以下几行:
所以我肯定包括我的 admin.js 文件,我在其中声明了以下一组函数:
我正在尝试使用用于测试 AJAX 回调的建议格式来测试此功能(它在浏览器中完全符合我的预期) :
但是,测试总是失败并出现以下错误:
我目前正在测试未在这些文件中明确声明的其他 jasmine/spec 文件中的函数。我认为这就是将脚本包含在 SpecRunner.html 文件中的意义所在,对吧?关于这里发生了什么的任何想法?