无法在 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 作为全局变量放入,但这不会缩放很好