Jasmine在浏览器中传递,文件在grunt-contrib-jasmine中

时间:2013-10-20 00:32:39

标签: javascript node.js jasmine phantomjs gruntjs

我为我的插件创建了一些茉莉花测试。

他们都通过了浏览器(chrome),但出于某种原因,当我在终端中使用“grunt-contrib-jasmine”任务时,大多数都失败了。

这是一个例子:

it("scroll to the correct floor", function() {

  // return and instance of my plugin (ascensor)
  var ascensor = getInstanceOfAscensor({});
  var floorArray;

  // Triggered when 'next' is triggered
  ascensor.on("scrollStart", function(event, floor) {
    // floor look like {from:0, to:1}
    floorArray = floor;
  });

  // trigger an 'next' event which
  // trigger a 'scrollStart' 
  // event inside the plugin
  ascensor.trigger("next");

  // Spec
  expect(floorArray.from).toBe(0);
  expect(floorArray.to).toBe(1);
});


Terminal Output:
TypeError: 'undefined' is not an object (evaluating 'floorArray.from')

完整测试: https://github.com/kirkas/Ascensor.js/blob/master/test/spec/optionsSpec.js

1 个答案:

答案 0 :(得分:1)

我发现了问题,我使用的是来自jasmine-jquery的loadFixtures函数,它指的是相对路径("spec/javascripts/fixtures")。

解决方案是将此行放在测试的顶部,这是指夹具文件夹。

jasmine.getFixtures().fixturesPath = 'path/to/your/fixture';