loadFixtures在Rails 4中的Jasmine中不起作用

时间:2015-09-23 15:55:38

标签: javascript ruby-on-rails backbone.js jasmine handlebars.js

spec/javascripts/backbone/albums_spec.js的我的Rails应用中,我有以下规范......

describe('Albums collection', function() {
  it("fetches a collection of three albums", function(done) {

    loadFixtures('index.html');

    var albumsLoaded = App.albumsLoaded;
    App.albumsLoaded = function() {
      albumsLoaded.apply(App, arguments);
      expect(App.albums.models.length).toBe(3);
      expect(typeof App.albums.models[0].attributes.title).toBe("string");
      done();
    };

    App.init();
  });
});

当我运行$ rake teaspoon files=spec/javascripts/backbone/albums_spec.js时,我收到以下故障......

Error: You must pass a string or Handlebars AST to Handlebars.compile. You passed undefined这是因为在assets/javascripts/backbone/views/albums.js中,我正在尝试使用html文件中的元素编译Handlebars模板...在浏览器中工作正常等,但在茉莉花测试中,我想我需要创建一个html fixture来模拟那个html文件。所以,在spec/javascripts/fixtures/index.html中,我已经粘贴了相同的HTML。我已经捆绑安装了teaspoon-jasminejasmine-jquery-rails宝石。不幸的是,我也失败了......

ReferenceError: Can't find variable: loadFixtures...我无法加载我需要的html工具,以防止之前提到的失败,其中没有任何内容传递到Handlebars.compile。我已经通过类似的SO帖子和github论坛搜索了这个问题,但到目前为止无济于事。对此有任何帮助将非常感激。

0 个答案:

没有答案