0
我不明白爲什麼我的導入是錯誤的? 它似乎是一個webpack sourcemap和Karma w之間的問題(它沒有從webpack獲取模塊)。 ??Vue.js單元測試錯誤模塊未找到
我使用的果報的WebPack(2.0.2)...
這裏是我的項目結構
project
src
components
...
...
vuex
actions.js
getters.js
mutation_types.js
mutations.js
store.js
App.vue
main.js
test
unit
specs
vuex
mutations.spec.js
這裏是我的測試規範文件有進口
// mutations.spec.js
import mutations from 'src/vuex/mutations'
import { ADD_SHOPPING_LIST } from 'src/vuex/mutation_types'
...
這裏是我的package.json腳本
"scripts": {
...
"unit": "cross-env BABEL_ENV=test karma start test/unit/karma.conf.js --single-run",
...
},
當我執行:NPM運行單元
我得到模塊沒有找到
terminal
cd project
npm run unit
ERROR in ./test/unit/specs/vuex/mutations.spec.js
Module not found: Error: Can't resolve 'src/vuex/mutations' in '/Users/myself/Developments/project/test/unit/specs/vuex'
有什麼不對?是不是相對於項目目錄?
感謝反饋
UPDATE
我想修改我karma.conf.js如下:
var webpackConfig = require('../../build/webpack.test.conf')
module.exports = function (config) {
config.set({
browsers: ['PhantomJS'],
frameworks: ['mocha', 'sinon-chai', 'phantomjs-shim'],
reporters: ['spec', 'coverage'],
// files: ['./index.js'], <= initial setting
files: [
'specs/**/*.spec.js',
'./index.js'
],
// preprocessors: { <= initial setting
// './index.js': ['webpack', 'sourcemap']
// },
preprocessors: {
'specs/**/*.spec.js': ['webpack', 'sourcemap'],
'src/**/*.js': ['webpack', 'sourcemap'],
'./index.js': ['webpack', 'sourcemap']
},
webpack: webpackConfig,
webpackMiddleware: {
noInfo: true
},
coverageReporter: {
dir: './coverage',
reporters: [
{ type: 'lcov', subdir: '.' },
{ type: 'text-summary' }
]
}
})
}
現在的WebPack正確執行,但進口誤差保持
控制檯
Yvess-Mac-mini:project myself$ npm run unit
> [email protected] unit /Users/myself/Developments/project
> cross-env BABEL_ENV=test karma start test/unit/karma.conf.js --single-run
Hash: 59e0b95047d40a9ddfd1
Version: webpack 2.7.0
Time: 3912ms
Asset Size Chunks Chunk Names
specs/vuex/mutations.spec.js 9.23 kB 0 [emitted] specs/vuex/mutations.spec.js
index.js 1.28 MB 1, 0 [emitted] [big] index.js
chunk {0} specs/vuex/mutations.spec.js (specs/vuex/mutations.spec.js) 891 bytes [entry]
[0] ./test/unit/specs/vuex/mutations.spec.js 891 bytes {0} {1} [built]
chunk {1} index.js (index.js) 491 kB [entry] [rendered]
[0] ./test/unit/specs/vuex/mutations.spec.js 891 bytes {0} {1} [built]
[8] ./~/vue/dist/vue.esm.js 268 kB {1} [built]
[9] ./src/api/index.js 4.81 kB {1} [built]
[10] ./src/vuex/actions.js 7.95 kB {1} [built]
[11] ./src/vuex/mutations.js 2.41 kB {1} [built]
[12] ./src/vuex/store.js 2.03 kB {1} [built]
[14] ./src/components/AddItemComponent.vue 2.19 kB {1} [built]
[16] ./src/components/ItemComponent.vue 2.17 kB {1} [built]
[17] ./src/components/ItemsComponent.vue 2.17 kB {1} [built]
[18] ./src/components/ShoppingListComponent.vue 2.21 kB {1} [built]
[19] ./src/components/ShoppingListTitleComponent.vue 2.23 kB {1} [built]
[26] ./src ^\.\/(?!main(\.js)?$) 920 bytes {1} [built]
[27] ./test/unit/specs \.spec$ 186 bytes {1} [built]
[28] ./test/unit/index.js 657 bytes {1} [built]
[73] (webpack)/buildin/global.js 509 bytes {1} [built]
+ 60 hidden modules
ERROR in ./test/unit/specs/vuex/mutations.spec.js
Module not found: Error: Can't resolve 'mutations' in '/Users/myself/project/test/unit/specs/vuex'
@ ./test/unit/specs/vuex/mutations.spec.js 3:17-37
ERROR in ./test/unit/specs/vuex/mutations.spec.js
Module not found: Error: Can't resolve 'mutation_types' in '/Users/myself/project/test/unit/specs/vuex'
@ ./test/unit/specs/vuex/mutations.spec.js 7:22-47
06 09 2017 13:38:28.742:INFO [karma]: Karma v1.7.1 server started at http://0.0.0.0:9876/
...
試試'。'/ src目錄/ vuex/mutations'' – talkhabi
感謝doen't工作太..我用更多的信息更新了我的問題,更新了我的karma.conf.js,webpack正在正確執行(請參見輸出),但沒有找到模塊... – erwin
''/ Users/myself/Developments/project/test/unit/specs/vuex''爲什麼這裏沒有'src'? – talkhabi