问题标签 [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 - 使用 jasmine 测试期望 jquery 模板可用的 javascript?
我通常在我的 html 文件中设置 jquery 模板,如下所示:
然后我需要使用此模板的 javascript 将通过 id 查找它并传入所需的数据:
现在我正在尝试为我的 javascript 编写 jasmine-bdd 规范。我没有看到我设置模板并让我的 javascript 查找/扩展模板的方式有什么特别的问题......但我不知道如何让茉莉花很好地配合这个......所以......
当我的 javascript 依赖于 jquery 模板并且模板直接在我的 html 页面中定义时,我如何使用 jasmine 测试我的 javascript?
我必须在 jasmine-jquery 夹具中复制我的模板吗?或者有没有办法让 jasmine-jquery 夹具使用我现有的 html / 模板定义?
javascript - 如何在 Jasmine 单元测试中使用 Sinon 对 jQuery 动画进行假时间?
我有一个 1 秒的 jQuery.animate
操作,在页面加载后 5 秒启动。我在我的 Jasmine 单元测试代码中设置了一个 Sinon 计时器,并在 7 秒的滴答声后进行测试,以查看动画后的属性是否与它们应有的一样。
它不能正常工作,因此我在 Jasmine HTML 测试页面上放置了动画本身的一个实例,以便更好地了解发生了什么。
在 Firefox 和 Chrome 中,页面加载,动画函数被调用,单元测试立即失败,然后(也立即)动画可见。
在 IE、Opera 和 Safari 中,页面加载,动画函数被调用,单元测试立即失败,动画从不可见。
我希望的是以下(在所有浏览器中):
- 页面加载完毕,调用动画函数,动画瞬间完成,单元测试立即成功。
查看Sinon的文档,它的假计时器涵盖了以下过程:
setTimeout
, clearTimeout
, setInterval
, clearInterval
,Date
我不知道 jQuery 的动画是如何工作的,但我想它是使用 CSS 来过渡的,而 CSS 过渡并没有包含在 Sinon 中useFakeTimers
,所以我想这就是问题所在。但是,如果我对这个问题是正确的,我仍然需要一个解决方案。
或许我应该试试诗乃以外的东西?Jasminewaits()
在这个测试中表现完美,但对于像我这样没有耐心的人来说非常不切实际。
还有其他建议吗?请记住,我是 JS 单元测试的新手,所以模糊的答案会让我感到困惑,而不是帮助我。;o)
ruby-on-rails - 如何在 Rails 应用程序中通过 jasmine 测试选项卡?
在我们的 Rails 应用程序中,我们有许多选项卡,例如概览选项卡、报告选项卡等。如何通过 jasmine 获取这些选项卡?
在我们的 Gemfile 中,我们使用了以下 gem:-
我们还在 spec/helpers 中包含了 jasmine_jquery-1.2.0.js。如果有人提供一些代码,那就太好了。
javascript - 如何在 Jasmine 中测试表单提交?
在最终发布到它的 ACTION URL 之前,我有一个表单可以执行一些广泛的 Javascript 内容。我正在编写一些 Jasmine 单元测试,并希望确保在提交表单时发生 Javascript 内容。但是,当我进行单元测试时,我绝对不希望页面转到 ACTION URL。
我在这里看到了一个不错的建议: http ://groups.google.com/group/jasmine-js/browse_thread/thread/a010eced8db17c1a?pli=1
...但是,由于我对 Jasmine 还很陌生,我不确定如何实现它,并且在网上找不到任何相关的例子。有没有人有一些我可以看的示例代码来完成我需要的?
谢谢!
javascript - 如何生成用于 Jasmine 测试的夹具
我正在编写一个 Rails 插件/gem,它基本上是一些帮助程序(FormHelpers、FormTagHelpers)和一些相关的 Javascript 来添加行为。
我正在使用 RSpec 测试标签助手。现在我正在设置 Jasmine 来测试 Javascript 行为。
我想从我的插件中的标签助手代码中生成Jasmine 固定装置,而不是使用静态(脆弱)固定装置。因此,当标记代码更改时,Jasmine 测试的固定装置将自动更新。
我的第一个想法是扩展 RSpec,类似于“it_should_behave_like”的共享行为,只有“it_should_save_fixture_on_success”。它就像一个 after(:all) 块。
我需要知道两件事......如何获得上下文的“标题”(这将是夹具的默认名称),以及如何在 after(:all) 中确定是否所有规格成功运行。
这听起来合理吗?还是我错过了一些明显的东西?
jasmine - 如何在 Cloud9 中使用 Jasmine?
我经常使用 Jasmine(用于 JavaScript 的 BDD),刚刚发现 Cloud9 并想尝试一下。
在我的本地机器上,我使用 jasmine-node 运行我的规范,但我不知道如何在 Cloud9 中执行此操作。我能够使用 Cloud9 编辑器底部的控制台栏以某种方式通过 npm 安装 jasmine-node,但我无法使用它。
我用 CoffeeScript 编写代码,但这应该不是问题,我也尝试过 JavaScript。
javascript - 使用 Jasmine-Node 和/或 Jasmine 客户端的示例项目
是否有任何最终用户示例项目使用 javascript 测试框架 jasmine-node / jasmine 的最佳实践。像一个简单的 CRM、RSS 阅读器等。
javascript - Javascript JsTestDriver Jasmine & Jasmine-jquery
我有很多 Jasmine 单元测试,它们正在为 Javascripts 代码运行单元测试。他们正在使用 Jasmine-jquery 插件来进行 DOM 操作。他们使用 loadFixture 来加载 HTML 的固定装置
我尝试使用 JsTestDriver 和 JasmineAdapter 自动化这些单元测试但是所有涉及 DOM-jquery 操作的测试都没有通过?这有什么问题吗?有没有办法将 Jasmine-jquery 与 JsTestDriver 一起使用?
javascript - 使用 Jasmine 在 CoffeeScript 中测试 Backbone.js 的 TypeError
我目前正在研究 Backbone.js 上的 PeepCode 视频,但尝试用 CoffeeScript 而不是纯 JavaScript 编写它。
到目前为止一切顺利,除非我尝试在代码上运行 Jasmine 测试时遇到一些 TypeErrors:
我的 CoffeeScript/Backbone 文件如下所示:
Jasmine 测试规范是这样的:
我猜这个问题与 CoffeeScript 将所有内容包装在一个函数中有关。当我从等式中删除 jQuery 时,它工作正常。奇怪的是,尽管 Jasmine 告诉我TypeError: Cannot call method 'isFirstTrack' of undefined
如果我album.isFirstTrack(0)
在它返回的页面上的控制台中运行,true
那么窗口确实可以访问变量和方法。
javascript - 没有用 Jasmine 执行 Ajax
我在使用 Jasmine BDD 框架执行 ajax 时遇到了麻烦。
我想测试实际的 ajax 调用,而不是做出虚假的响应。我已阅读文档并尝试了所有方法,但似乎只是忽略了 ajax 代码。我也尝试过使用间谍,但似乎没有帮助。
一个非常基本的示例不起作用:
返回总是0,它永远不会进入成功函数。
我究竟做错了什么?