无法在 Karma 中指定 javascript 文件的路径
unable to specify path to javascript file in Karma
我的 JS 文件(我需要测试)是 /JasmineTest/src/mySource.js。它有 myObj
个对象
myObj={
setA:function(value){
a=value;
},
getA:function(){
return a;
},
};
我的 Jasmine 规范文件是 /JasmineTest/spec/mySpec.js。它测试 myObj
describe("Jasmine sample suite",function(){
it("tracks that spy was called",function(){
expect(myObj.getA).toHaveBeenCalled();
});
在 karma 中,我已将 spec 文件位置指定为
files: [
'spec/*.js'
],
当我在 /JasmineTest 中启动 Karma 时,测试给出错误
Chrome 60.0.3112 (Windows 10 0.0.0) Jasmine sample suite tracks that spy was called FAILED
ReferenceError: myObj is not defined
at UserContext.<anonymous> (spec/mySpec.js:4:9)
我尝试导出 myObj module.exports = myObj;
并使用 require('../src/mySource.js')
在规范文件中导入它,但出现错误 require is not defined
如何使 myObj 在规格文件中可见?
Karma 不知道如何进行模块请求,除非你专门配置它来进行捆绑。一般来说,我希望在 Karma 中使用与您在 Web 应用程序中使用的相同类型的捆绑,因此 Webpack 或 Browserify 或类似的。
另一种方法是在 karma.conf.js 中的 "files" 字段下列出 mySource.js,这将只执行它并将 myObj 作为全局变量放入,但这不会缩放很好
我的 JS 文件(我需要测试)是 /JasmineTest/src/mySource.js。它有 myObj
个对象
myObj={
setA:function(value){
a=value;
},
getA:function(){
return a;
},
};
我的 Jasmine 规范文件是 /JasmineTest/spec/mySpec.js。它测试 myObj
describe("Jasmine sample suite",function(){
it("tracks that spy was called",function(){
expect(myObj.getA).toHaveBeenCalled();
});
在 karma 中,我已将 spec 文件位置指定为
files: [
'spec/*.js'
],
当我在 /JasmineTest 中启动 Karma 时,测试给出错误
Chrome 60.0.3112 (Windows 10 0.0.0) Jasmine sample suite tracks that spy was called FAILED
ReferenceError: myObj is not defined
at UserContext.<anonymous> (spec/mySpec.js:4:9)
我尝试导出 myObj module.exports = myObj;
并使用 require('../src/mySource.js')
在规范文件中导入它,但出现错误 require is not defined
如何使 myObj 在规格文件中可见?
Karma 不知道如何进行模块请求,除非你专门配置它来进行捆绑。一般来说,我希望在 Karma 中使用与您在 Web 应用程序中使用的相同类型的捆绑,因此 Webpack 或 Browserify 或类似的。
另一种方法是在 karma.conf.js 中的 "files" 字段下列出 mySource.js,这将只执行它并将 myObj 作为全局变量放入,但这不会缩放很好