如何解决Karma错误“未捕获的ReferenceError:模块未定义”

时间:2019-06-12 13:19:23

标签: unit-testing karma-jasmine karma-runner

我正试图立足于如何将Karma设置为一系列Jasmine单元测试的测试运行者。

但是,每当我尝试通过Karma运行测试时,在index.js文件中都会收到“ Uncaught ReferenceError:未定义模块”错误。我正在Chrome中运行测试,因此打开控制台并运行测试时会看到此错误。

当我仅使用Jasmine运行测试时,测试运行就没有问题。这使我相信这是我专门针对Karma所做的事情。

从本质上讲,这是我的index.js。错误指向的行是“ module.exports”代码的开始位置。

function fibonacci(n){...}
function isPrime(num){...}
function isEven(n) {...}
function isOdd(n) {...}
function toLowerCase(str){...}
function toUpperCase(str){...}
function contains(str, substring, fromIndex){...}
function repeat(str, n){...}
function throwsTypeError() {...}

module.exports = {
    fibonacci: fibonacci,
    isPrime: isPrime,
    isEven: isEven,
    isOdd: isOdd,
    toLowerCase: toLowerCase,
    toUpperCase: toUpperCase,   
    contains: contains,
    repeat: repeat,
    throwsTypeError: throwsTypeError
};

这是我的全部karma.conf.js。

module.exports = function(config) {
    config.set({

        basePath: '',

        frameworks: ['jasmine', 'requirejs'],


        files: [
            { pattern: '*.js', included: true },
            { pattern: 'spec/*Spec.js', included: true }
        ],

        exclude: [
        ],

        preprocessors: {},

        reporters: ['dots'],

        port: 9876,

        colors: true,

        logLevel: config.LOG_DEBUG,

        autoWatch: false,

        browsers: ['Chrome'],

        singleRun: true,

        concurrency: Infinity
    })
}

如果您还有其他想看的内容,我可以编辑此帖子,或者您可以查看我的Github存储库:https://github.com/webgirlwonder/karma-jasmine-test

0 个答案:

没有答案