Ruby on rails jasmine没有加载我的自定义js文件

Ruby on rails jasmine没有加载我的自定义js文件,ruby-on-rails,jasmine,Ruby On Rails,Jasmine,我无法让jasmine加载我的自定义javascript文件,即使它在浏览器中运行良好。我已经将javascript减少到了最低限度,以避免任何可能的错误,并且我仍然在最简单的事情上得到了失败的测试 自定义ARB.js文件: $(document).ready(function() { alert('typeof ARB: ' + typeof ARB); }); ARB = {}; ARB.VERSION = "V1.01.00 2012-08-24"; jasmine配置文件片

我无法让jasmine加载我的自定义javascript文件,即使它在浏览器中运行良好。我已经将javascript减少到了最低限度,以避免任何可能的错误,并且我仍然在最简单的事情上得到了失败的测试

自定义ARB.js文件:

$(document).ready(function() {
  alert('typeof ARB: ' + typeof ARB);
    });
ARB = {};
ARB.VERSION = "V1.01.00 2012-08-24";
jasmine配置文件片段(我在Rails 3.0.9上):

此测试:

  it('should define the custom javascript functions', function() {
    expect(typeof ARB).toEqual('object');
    });
在以下情况下失败:

Expected 'undefined' to equal 'object'.
jQuery被加载,我的application.js文件也被加载。当运行jasmine时,我不会收到警告消息,但当我运行我的应用程序时会收到

我错过了什么

更新:如果我删除$(document).ready函数,jasmine会通过所有测试-这是怎么回事?

给了我一个指针,我需要弄清楚这一点:我的自定义ARB.js文件在jquery文件之前加载,所以它没有访问$(document).ready函数的权限。我要做的是明确地说明加载javascript文件的顺序。下面是我在jasmine配置文件/spec/javascripts/support/jasmine.yml中的内容:

src_files:
  - "public/javascripts/**/jquery.js"
  - "public/javascripts/**/jq*.js"
  - "public/javascripts/**/application.js"
  - "app/assets/javascripts/**/*.js"
  - "public/javascripts/ARB.js"
我首先强制加载主jquery.js文件,然后加载所有其他jquery文件,然后加载application.js,然后加载位于assets目录中的任何其他javascript文件,最后加载我的自定义javascript文件


这对我来说很有用,因为我仍在使用Rails 3.0.9,并开始迁移到3.1+和资产管道。

它可能没有加载jQuery,然后在
$(文档)上崩溃。准备好了。如果打开firebug或任何js调试工具,在浏览器中运行测试时是否看到任何错误?我很确定它正在加载jQuery;我已经在jasmine套件中进行了另一个测试来验证这一点(expect(typeof jQuery).toEqual('function'))它通过了。啊哈!尽管我的jQuery测试通过了,但Firebug中出现了一个错误-我的自定义js在jQuery之前加载。通过破解jasmine.yml,强制jQuery js文件在我的文件之前加载,解决了这个问题-谢谢!!!你能添加你的解决方案作为答案吗?在我的项目中,public/javascript文件夹和.rb文件不是自动创建的。如何解决这个错误以及如何将我们的.js文件添加到jasmine?你能帮我吗。
src_files:
  - "public/javascripts/**/jquery.js"
  - "public/javascripts/**/jq*.js"
  - "public/javascripts/**/application.js"
  - "app/assets/javascripts/**/*.js"
  - "public/javascripts/ARB.js"