问题标签 [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.
node.js - 使用 jasmine-node 和 jquery-jasmine 测试客户端 JavaScript
我正在尝试使用jasmine-node
and编写一些 JavaScript 单元测试jquery-jasmine
,但遇到了配置问题。目前,这是我试图运行的唯一“测试”:
尝试运行测试时出现以下错误:
当我在测试中注释掉该loadFixtures
行时,它工作正常。
我认为jasmine-jquery
加载不正确,但我不确定该怎么做。nodejs
(我对or的经验很少npm
。)
如果它具有诊断价值,那么当我运行时which jasmine-node
(在 bash 内)我会得到一个结果,但是当我运行时which jasmine-jquery
,我不会。我认为这是因为前者是可执行的,而后者不是,但我不想做任何假设。(npm show
表示两个软件包都已安装。)
我究竟做错了什么?
非常感谢您的帮助。
ruby-on-rails - 常青树+茉莉花-jquery
我想利用 jasmine-jquery 的新 json 固定装置能力,但无法让它工作。我有一个用于 JS 测试的常青树 Rails 3.2 应用程序。正如https://github.com/velesin/jasmine-jquery的自述文件所说,将目录放在jasmine-jquery.js
里面spec/javascripts/helpers
会自动加载jasmine-jquery
。
我将 jasmine-jquery(以及 jasmine-ajax 等其他库)放入 spec/javascripts/helpers 目录(因此它们会自动加载),并将夹具放入 spec/javascripts/fixtures 目录。
但事实并非如此。我试图将文件加载到内部spec_helper.js
,但require
唯一指向公共目录。
我还找到了这个答案:https ://groups.google.com/forum/?fromgroups=#!topic/ruby-evergreen/0Tma5RKqZB8 但解决方案不适用于我的情况。
那么,我在哪里可以告诉 evergreen / jasmine 加载jasmine-jquery.js
文件,以便我可以使用 loadFixtures 方法......?
jasmine - 如何在不使用外部 html 文件的情况下在 jasmine 测试中添加 DOM 元素?
我正在编写一些简单的 jasmine 测试,但出现异常,因为我正在测试的代码正在寻找一个不存在的表单,因为仅在测试 js 文件时没有 DOM:$("form")[0]
在测试的 js 文件中导致:
我阅读了一些关于 jasmine-jquery 的内容,并意识到我可以使用一些带有外部 html 文件的 html 固定装置。这个流程看起来很混乱,因为我需要做的只是添加一个空的有效表单,以便测试(专注于其他东西)运行,<form></form>
我认为像附加这样的东西就足够了。
起初我认为 sandbox() 函数将是解决方案,但它似乎只创建 div,我需要一个表单。
通过仅使用 jasmine 规范文件中的代码来添加一些元素的任何简单方法?
jquery - 用一个测试用多个 jQuery 版本测试 Jasmine
我在 PhpStorm 上使用 Jasmine 和 JSTestDriver,我正在尝试使用一个 js 测试文件对多个版本的 jquery(即 1.7.x、1.8.x、1.9.0 和 2.0b)进行单元测试。做这个的最好方式是什么?我在这里阅读了一些没有实际答案的问题。
- 将描述放在循环中并手动加载/删除每个jQuery?
- 我正在使用 jasmine-jquery,所以我可以加载固定装置,但我不知道如何用它加载 js 文件,因为它似乎只是 HTML(和 json / css)
- 逐步加载每个脚本,调用 jQuery.noConflict 可以让它工作吗?
- 每次 jQuery 版本更改时,我是否必须重新加载我的 jQuery 插件?
javascript - 使用 RequireJS 和 Jasmine 监视由 jQuery 'change' 调用的函数
我对 RequireJS 和 Jasmine 都很陌生,所以我在设置一些基本测试时遇到了一些麻烦。我找到了很多关于如何将两者设置在一起并使其正常工作的信息。但是我有一个有趣的问题,我似乎无法解决。
不幸的是,我不确定解决问题的最佳方式,所以这里有一些代码:
主.js:
操纵.js:
操纵规范.js:
(删除了一些额外的代码)
如果我console.log
在里面Manipulate.pushChange
,它正在开火。问题是,Manipulate
被监视的对象与main.js
文件中作为参数传递的对象不同。因此,添加manipulate.pushChange
我的it()
块使测试通过。
我找到了 Backbone.js 应用程序的答案,它调用delegateEvents
. 我不确定香草 Javascript、jQuery 等是否有类似的解决方案,但我找不到。
有没有更好的方法来构建我的文件,可能将我的 jQuery 事件处理程序放在操作模块中?或者只是一种在两个对象之间“复制”事件的方法?createSpy
在这种情况下,我什至不相信 using会对我有多大帮助。
javascript - 使用 Capybara-Jasmine 进行无头 Jasmine 测试:AJAX 测试失败
所以这是一个 ruby-NO-rails 项目,我正在使用 Jasmine、Jasmine-Jquery 进行前端测试。
我还使用 LoadFixtures 来测试模板上的 DOM 操作。在浏览器上,一切都是草绿色的,太棒了。
然后我去无头:我使用 Capybara-Webkit,Capybara-Jasmin gems。测试是绿色的,只是那些使用 Jasmin-Jquery LoadFixture mathode(使用 ajax)的测试是血红色的,让我很生气。
将 WaitsFor 添加到我原来的 Jasmine 测试中不会有帮助。PreloadFixtures 也没有。我认为应该对水豚茉莉花进行一些调整..
任何疯狂的想法将不胜感激。也欢迎更好的测试设置。
ķ
javascript - 使用 Jasmine-jQuery,我尝试使用夹具 HTML,但测试未通过
我是Jasmine-jQuery的新手。我尝试使用fixture HTML,但测试没有通过。
夹具.html:
fake_code_for_question_spec.coffee:
fake_code_for_question.coffee:
茉莉花结果:
谢谢你的好意。
javascript - 使用 Jasmine-jQuery 我尝试更改夹具 HTML,但它不起作用
我是Jasmine-jQuery的新手。我尝试使用fixture HTML,但测试没有通过。
夹具.html:
fake_code_for_question_spec.coffee:
fake_code_for_question.coffee:
茉莉花结果:
谢谢你的好意。
fixtures - jasmine-jquery 固定装置未加载
问题是jasmine-jquery没有从spec/fixtures文件夹中加载我的灯具。现在,当我查看 jasmine-jquery 源代码时,fixture 的默认路径是spec/javascripts/fixtures。在我拥有的版本中,没有spec/javascripts/fixtures文件夹。这似乎是 Ruby gem 的东西。我还尝试创建该javascripts 文件夹,但仍然无法加载它。当我将我的夹具片段放在 SpecRunner.html 正文中时 - 它可以工作。
这是我的html片段:
规格文件:
这是一个错误或路径的东西吗?
已解决:这是 google-chrome 的问题。默认情况下,它不允许通过同源策略访问其他域。解决方案是从本地服务器运行应用程序,或使用 firefox。
javascript - 使用 .toHaveBeenCalledWith 的 Jasmine 测试注册表格失败
我正在开发的单页应用程序有一个登录视图,其中包含两种表单:登录表单和注册表单。以下规范描述了这些表格的测试。我正在使用Jasmine-jQuery 1.4.2。
登录表单的测试运行成功,但注册表单的测试失败。
在应用程序中使用表格没有问题。传输数据。一切正常。只是测试没有。
解决方法
但是,当我延迟执行时,测试成功。
为什么这行得通并且“正常”实施失败了?
这是给定情况的简化: