2017-05-22 5 views
2

잘못된 줄 번호 보여행 범위 내 그룹은 다음 전단 스택 애플리케이션 구축

VueJS을 웹팩 2.2 , 시험 범위

위한도 (테스트) AvaJS, 행 (이스탄불)

우리는 프로젝트의 Webpack 템플릿을 만들기 위해 vue-cli를 시작했습니다. 대부분의 경우 모든 것이 원활하게 진행되었습니다. 단위 테스트를 위해 Ava를 사용할 수 있습니다. .vue 구성 요소 파일 vue-nodenyc을 통해 생성 된 테스트 커버리지 보고서에 문제가 있습니다.

"nyc": { 
"exclude": [ 
    "build", 
    "config", 
    "static", 
    "tests" 
], 
"extension": [ 
    ".js", 
    ".vue" 
] 
}, 
"ava": { 
"require": [ 
    "./tests/unit/helpers/setup.js", 
    "ignore-styles" 
] 
}, 

모든 검사를 성공적으로 통과 : 아래 정의 관련 뉴욕 아바 섹션과의 package.json 파일의 단편이다. nyc generated report

문제는 라인이이 존재하지 않는 계산 한 라인 아래에 나열 #S이다 : 뉴욕의 보고서는 다음을 보여줍니다. .vue 파일의 길이는 402 라인에 불과하므로 뉴욕 보고서의 행 번호가 어디에서 오는지 알 수 없습니다.

도움을 주시면 감사하겠습니다. 미리 감사드립니다.

+0

하면 [소스 맵]을 가지고 있나요 (https://github.com/avajs/ava # code-c 과대) 설정? –

+0

답변 해 주셔서 감사합니다. 그래, 나는 그것을 보았지만 그 일을 어떻게하는지 잘 모른다. 나는 또한 그것이 필요하다고 생각하기 전에 내가 몰랐다. 그것은 단순히 sourceMaps를 설정하는 문제입니까? package.json의 nyc config에서 true입니까? 왜냐하면 나는 그것을 시도했기 때문에 운이 없었습니다. – user2360062

+0

내가 아는 전부는 내가 거기에서 읽었다. 테스트중인 코드가 인라인 소스 맵을 포함하는지 또는 소스 맵 파일을 참조하는지 확인한다. 'babel-register'를 사용하면 바벨 설정에서'sourceMaps' 옵션을'inline'으로 설정할 수 있습니다. –

답변

1

동일한 문제가있어서 babel-plugin-istanbul을 설치해야 이스탄불에서 사용할 수 있습니다. 이 플러그인은 코드에 맞는 소스 맵을 얻는 데 담당합니다. 따라서 nyc에서 instrument 및 sourceMap을 비활성화해야합니다.

npm install --save-dev babel-plugin-istanbul

에만 ENV 시험에 .babelrc에이 플러그인을 추가합니다.

{ 
    "env": { 
    "test": { 
     "plugins": [ "istanbul" ] 
    } 
    } 
} 

그런 다음 nyc에서 instrument 및 sourceMap을 비활성화하십시오. babel-plugin-istanbul이 처리합니다. 그리고 babel-register으로 니크를 "요구"합니다.

"nyc": { 
    "exclude": [ 
    "build", 
    "config", 
    "static", 
    "tests" 
    ], 
    "extension": [ 
    ".js", 
    ".vue" 
    ] 
    "require": [ 
    "./tests/unit/helpers/setup.js", 
    "ignore-styles", 
    "babel-register" 
    ], 
    "sourceMap": false, 
    "instrument": false 
}, 

이제 nyc로 서비스를받을 수 있습니다.

NODE_ENV=test nyc ava

출처 :

  1. https://www.npmjs.com/package/babel-plugin-istanbul
  2. https://github.com/istanbuljs/nyc#use-with-babel-plugin-istanbul-for-babel-support