2016-06-05 4 views
0

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

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

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" 
}, 

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

ответ

0

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

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

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

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