我正在试验以下代码...
// testable_scripts.js
function addition(){
return 1 + 1;
}
// spec.js
describe('Addition', function(){
it('Adds two numbers together', function(){
expect(addition()).toBe(2);
});
});
上面的代码一切正常,但是当我把加法函数放在一个模块中并返回它时,我得到“ReferenceError: TestModule is not defined.”
var TestModule = (function(){
var addition = function(){
return 1 + 1;
};
return {
call_addition: function(){
addition();
}
};
})();
// spec.js
describe('Addition', function(){
it('Adds two numbers together', function(){
expect(TestModule.call_addition()).toBe(2);
});
});
如有任何建议,我们将不胜感激。
最佳答案
在你的代码中,TestModule 必须是一个函数才能返回一些东西:
尝试
var TestModule = function(){
var addition = function(){
return 1 + 1;
};
return {
call_addition: function(){
return addition();
}
};
};
// spec.js
describe('Addition', function(){
it('Adds two numbers together', function(){
expect(TestModule().call_addition()).toBe(2);
});
});
将上面的代码粘贴到 http://tryjasmine.com/
关于javascript - Jasmine 测试说模块未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36103683/