首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rails 4.1 jasmine-jquery未加载

rails 4.1 jasmine-jquery未加载
EN

Stack Overflow用户
提问于 2014-04-10 23:19:26
回答 3查看 705关注 0票数 3

我最近升级到了Rails 4.1

我使用的是gem 'jasmine-rails',它本身工作得很好。

我也在尝试使用gem ' jasmine-jquery -rails‘来加载fixture,但无法加载它(jasmine根本无法识别jasmine-jquery函数)。我在我的jasmine yml文件中添加了"jasmine-jquery.js“。

我还尝试将文件直接添加到我的app/javascripts/assets文件夹中,并将jasmine.yml文件更改为

代码语言:javascript
复制
src_dir: "app/assets/javascripts"
src_files:
  - "application.{js.coffee,js,coffee}"
  - "jasmine-jquery.js"

但是它仍然不会加载jasmine-jquery。

有什么想法吗?

EN

回答 3

Stack Overflow用户

发布于 2015-04-17 11:27:23

您所需要的只是以下内容。

在jasmine.yml文件中,具有以下内容就足够了:

代码语言:javascript
复制
spec_files:
  - "**/*[Ss]pec.{js.coffee,js,coffee}"

然后,在规范文件中,您需要包含测试所需的文件(这些文件位于资产管道中,因此您只需将其包含在内。这就是jasmine-rails gem的用途)。

也许这个例子可能会有所帮助:

代码语言:javascript
复制
//= require jquery
//= require jasmine-jquery
describe("Jasmine jQuery Test", function() {
  it("works out of the box", function() {
    expect($('<input type="checkbox" checked="checked"/>')).toBeChecked();
  });
});

请注意,您需要用于测试的文件。在本例中是jquery和jasmine-jquery。

jquery是必需的,因为jasmine-jquery使用了它的功能(如GitHub文档中所述),而jasmine-jquery是必需的,因为我们使用了一个匹配器"toBeChecked()“。

这样想吧,所有的Rails资产文件都在资产管道中,所以在测试文件中只需要包含测试所需的内容。

快乐编码

票数 1
EN

Stack Overflow用户

发布于 2014-07-24 21:17:12

尝试添加:

代码语言:javascript
复制
#= require jquery
#= require support/jasmine-jquery-1.7.0

添加到spec/javascripts/spec_helper.coffee文件中。

HTH,Jarra

票数 0
EN

Stack Overflow用户

发布于 2017-08-13 08:51:49

@Elyasin给出了一个可行的解决方案,除了你必须在你的每个js规范文件中都需要jasmine-jquery。将//= require jasmine-jquery添加到app/assets/javascripts/application.js。这样,您就不必在其他任何地方再需要它了。这对我来说很好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22992210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档