Vue 프로젝트에 storyboard 등의 외부 라이브러리를 연동 시 npm run unit테스트를 하면 전체 소스에서 테스팅을 돌리려다 파싱 에러가 나곤 한다. 이때는 테스트에 연관된 files를 명시적을 지정할 수 있다.
karma.conf.js를 보면 files 항목에서 파일 필터를 설정할 수 있다.
test/unit/karma.conf.js:5
module.exports = function karmaConfig (config) {
config.set({
// to run in additional browsers:
// 1. install corresponding karma launcher
// http://karma-runner.github.io/0.13/config/browsers.html
// 2. add it to the `browsers` array below.
browsers: ['ChromeHeadless'],
frameworks: ['mocha', 'sinon-chai', 'phantomjs-shim'],
reporters: ['spec', 'coverage'],
files: [
'../../node_modules/es6-promise/dist/es6-promise.auto.js',
'./index.js'
],
preprocessors: {
원하지 않는 폴더가 있을 경우 아래와 같이 제외 폴더를 필터에 명시하면 된다.
test/unit/index.js:4
import Vue from 'vue'
Vue.config.productionTip = false
// require all test files (files that ends with .spec.js)
const testsContext = require.context('./specs', true, /\.spec$/)
testsContext.keys().forEach(testsContext)
// require all src files except main.js or router/*.js for coverage.
// you can also change this to match only the subset of files that
// you want coverage for.
const srcContext = require.context('../../src', true, /^\.\/(?!.*(?:main|router|stories)).*(\.js)?$/)
srcContext.keys().forEach(srcContext)
=> main, router, stories폴더를 제외하도록 함
'Frontend Development > Vue.js' 카테고리의 다른 글
[Vue.js] webpack.config.js 분석 (0) | 2022.03.16 |
---|---|
[Vue.js] Storybook custom webpack, preview 추가 (0) | 2022.02.21 |
[Vue.js] vue 용 Storyboard 설치하기 (0) | 2022.02.14 |
[Vue.js] karma로 unit 테스트 시 Can't find variable: WeakMap 에러 해결 (0) | 2022.02.12 |
[Vue.js] 사용자 정의 directive (custom directive) (0) | 2022.02.12 |