【问题标题】:Karma Webpack - Error: Cannot find module "./test/utilities.js"Karma Webpack - 错误:找不到模块“./test/utilities.js”
【发布时间】:2015-10-15 15:45:26
【问题描述】:

我正在使用 Karma Webpack 进行项目的单元测试。

当我运行karma start 时,出现此错误:

Error: Cannot find module "./test/utilities.js" at /myproject/test/campaign.test.js:49 <- webpack:///test/campaign.test.js:3:0

这是我的文件campaign_test.js的内容:

"use strict";

var utilities = require('./test/utilities.js');

describe(" campaign unit tests", function () {
  var error = null;
  var user = null;

  utilities.initParse();  
});

这是karma.conf.js 文件:

var webpack = require("webpack"),
path = require("path");

// Karma configuration
// Generated on Mon May 11 2015 14:13:57 GMT-0600 (MDT)

module.exports = function(config) {
  config.set({
    basePath: "test",
    frameworks: ["jasmine"],
    files: [
        "**/*.js"
    ],
    preprocessors: {
        "**/*.js": ["webpack",  "sourcemap"]
    },
    webpack: {
        plugins: [
            new webpack.ResolverPlugin([
                new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin("bower.json", ["main"])
            ])
        ],
        resolve: {
            root: [path.join(__dirname, "./bower_components"), path.join(__dirname, "./src")]
        },
        devtool: "inline-source-map",
        resolve: {
            alias: {
                app: path.join(__dirname, 'test')
            }
        }
    },
    webpackMiddleware: {
        progress: false,
        stats: false,
        debug: true,
        noInfo: true,
        silent: true 
    },
    plugins: [
        require("karma-webpack"),
        require("karma-jasmine"),
        require("karma-phantomjs-launcher"),
        require("karma-sourcemap-loader"),
    ],
    reporters: ["dots"],
    port: 9876,
    colors: true,
    logLevel: config.LOG_INFO,
    autoWatch: true,
    browsers: ["PhantomJS"],
    singleRun: false
  });
};

这是我的项目的结构:

package.json
karma.conf.js
test/
    campaign.test.js
    game.test.js
    user.test.js
    utilities.test.js
    utilities.js

有什么建议吗?

【问题讨论】:

    标签: javascript karma-runner webpack


    【解决方案1】:

    依赖路径是相对于当前脚本的。所以只需重写你的 require 语句:

    var utilities = require('./utilities.js');
    

    【讨论】:

    • 感谢您的回答!我试过了,现在出现了这个错误:Fatal error: Path doesn't exist '/_karma_webpack_/utilities.js'
    • 在campaign.test.js中?还是在另一个文件中?
    猜你喜欢
    • 1970-01-01
    • 2016-08-07
    • 2022-01-09
    • 2016-07-23
    • 2015-06-12
    • 2016-02-29
    • 2018-12-28
    • 2016-10-17
    • 1970-01-01
    相关资源
    最近更新 更多