问题标签 [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.

0 投票
1 回答
1321 浏览

node.js - 使用 jasmine-node 和 jquery-jasmine 测试客户端 JavaScript

我正在尝试使用jasmine-nodeand编写一些 JavaScript 单元测试jquery-jasmine,但遇到了配置问题。目前,这是我试图运行的唯一“测试”:

尝试运行测试时出现以下错误:

当我在测试中注释掉该loadFixtures行时,它工作正常。

我认为jasmine-jquery加载不正确,但我不确定该怎么做。nodejs(我对or的经验很少npm。)

如果它具有诊断价值,那么当我运行时which jasmine-node(在 bash 内)我会得到一个结果,但是当我运行时which jasmine-jquery,我不会。我认为这是因为前者是可执行的,而后者不是,但我不想做任何假设。(npm show表示两个软件包都已安装。)

我究竟做错了什么?

非常感谢您的帮助。

0 投票
0 回答
149 浏览

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 方法......?

0 投票
3 回答
28036 浏览

jasmine - 如何在不使用外部 html 文件的情况下在 jasmine 测试中添加 DOM 元素?

我正在编写一些简单的 jasmine 测试,但出现异常,因为我正在测试的代码正在寻找一个不存在的表单,因为仅在测试 js 文件时没有 DOM:$("form")[0]在测试的 js 文件中导致:

我阅读了一些关于 jasmine-jquery 的内容,并意识到我可以使用一些带有外部 html 文件的 html 固定装置。这个流程看起来很混乱,因为我需要做的只是添加一个空的有效表单,以便测试(专注于其他东西)运行,<form></form>我认为像附加这样的东西就足够了。

起初我认为 sandbox() 函数将是解决方案,但它似乎只创建 div,我需要一个表单。

通过仅使用 jasmine 规范文件中的代码来添加一些元素的任何简单方法?

0 投票
1 回答
277 浏览

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 插件?
0 投票
1 回答
1537 浏览

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会对我有多大帮助。

0 投票
0 回答
317 浏览

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 也没有。我认为应该对水豚茉莉花进行一些调整..

任何疯狂的想法将不胜感激。也欢迎更好的测试设置。

ķ

0 投票
2 回答
1896 浏览

javascript - 使用 Jasmine-jQuery,我尝试使用夹具 HTML,但测试未通过

我是Jasmine-jQuery的新手。我尝试使用fixture HTML,但测试没有通过。

夹具.html:

fake_code_for_question_spec.coffee:

fake_code_for_question.coffee:

茉莉花结果:

谢谢你的好意。

0 投票
1 回答
248 浏览

javascript - 使用 Jasmine-jQuery 我尝试更改夹具 HTML,但它不起作用

我是Jasmine-jQuery的新手。我尝试使用fixture HTML,但测试没有通过。

夹具.html:

fake_code_for_question_spec.coffee:

fake_code_for_question.coffee:

茉莉花结果:

谢谢你的好意。

0 投票
1 回答
1785 浏览

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。

0 投票
2 回答
1950 浏览

javascript - 使用 .toHaveBeenCalledWith 的 Jasmine 测试注册表格失败

我正在开发的单页应用程序有一个登录视图,其中包含两种表单:登录表单和注册表单。以下规范描述了这些表格的测试。我正在使用Jasmine-jQuery 1.4.2。

登录表单的测试运行成功,但注册表单的测试失败。

在应用程序中使用表格没有问题。传输数据。一切正常。只是测试没有。

解决方法

但是,当我延迟执行时,测试成功。

为什么这行得通并且“正常”实施失败了?


这是给定情况的简化: