webpack - ошибка бросков теста кармы

0

Я использую webpack с карма-мокча-чаем для модульного тестирования моего проекта Angular.

при установке тестовой среды я столкнулся с ошибкой ниже:

karma start
05 06 2016 18:29:04.739:ERROR [config]: Invalid config file!
  TypeError: Path must be a string. Received { vendor: [ 'jquery', 'angular' ],
  bundle: [ 'babel-polyfill', './src/app.js' ] }
at assertPath (path.js:8:11)
at Object.posix.resolve (path.js:426:5)
at Object.<anonymous> (/Users/samirshah/Desktop/nuskin-chai/karma.conf.js:3:18)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
at Object.parseConfig (/usr/local/lib/node_modules/karma/lib/config.js:284:22)
at new Server (/usr/local/lib/node_modules/karma/lib/server.js:57:20)
at Object.exports.run (/usr/local/lib/node_modules/karma/lib/cli.js:243:7)
at Object.<anonymous> (/usr/local/lib/node_modules/karma/bin/karma:3:23)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Function.Module.runMain (module.js:441:10)
at startup (node.js:139:18)
at node.js:968:3

weboack.config.js

    entry: {
        vendor: ["jquery", "angular"],
        bundle: ['babel-polyfill', './src/app.js'],
    },

package.json

"scripts": {
    "dev": "webpack-dev-server --inline --port 3000 --content-base public/",
    "build": "webpack",
    "lint": "eslint src/ ; true",
    "test": "NODE_ENV = testkarma start"
},

Build и dev работают нормально, но модульное тестирование бросает ошибку. Я проверил, что у моего файла karma.conf.js нет проблем.

Теги:
unit-testing
webpack
karma-runner
karma-mocha

1 ответ

0

Я была такая же проблема. В моем конфигурационном файле karma у меня было что-то вроде этого:

var path = require('path');
var webpackConfig = require('./webpack.config');
var entry = path.resolve(webpackConfig.context, webpackConfig.entry);
...

И проблема в том, что webpackConfig.entry в моем файле webpack.config.js был объектом, а не строкой (следовательно, сообщение "Path должно быть строкой").

Надеюсь, это поможет, ура!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню