我为我的插件创建了一些茉莉花测试。
他们都通过了浏览器(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
答案 0 :(得分:1)
我发现了问题,我使用的是来自jasmine-jquery的loadFixtures
函数,它指的是相对路径("spec/javascripts/fixtures"
)。
解决方案是将此行放在测试的顶部,这是指夹具文件夹。
jasmine.getFixtures().fixturesPath = 'path/to/your/fixture';