6
karma.conf.coffee에 그렇게 보이는 그래서 테스트 코드 커버리지를 추가하는 문제에 봉착

는 카르마와 파일 카르마에 추가 내가 사용 이미 browserify 함께 번들로 제공됩니다테스트 범위, browserify 및 커피 스크립트

files: [ 
    { pattern:'bin/public/client/app.js', served:yes: included:yes } 
    { pattern:'src/lib/vendor/angular-mocks/angular-mocks.js', served:yes: included:yes } 
    { pattern:'bin/tests.js', served:yes: included:no } 
] 

그리고 내가 karma-coverage NPM 패키지를 사용하고 테스트,하지만 범위

을 실행하기위한 작동이 :

preprocessors: 'bin/public/client/app.js':['coverage'] 

reporters: ['progress','coverage'] 

실제로 커버리지 통계 파일을 만들지 만 node_modules에서 가져온 브라우저 부분을 붉게하기 때문에 완전히 잘못되었습니다. (그 파일들을 검사 할 테스트가 없기 때문에)

이상적으로 나는 browserify가 생성하는 소스 맵을 수집해야합니다. , 그리고 그것들에 대해 적용 범위를 달리지만 소스 맵을 .js 파일에 포함시키는 것을 브라우저 화하십시오. 디버깅 할 때 나를 시험의 원래 커피 스크립트 파일을 볼 karma-sourcemap-loader 수 있습니다 사용하여, 나는이 preprocessors: 'src/client/**/*.coffee':['coverage']을하려고 노력

(가 ChromeCanary에서만 작동 어떤 이유로, 그럼에도 불구하고 그것은 작동)하지만 표시 할 '데이터 없음 말을하지 전혀 통계를 얻을 수 없습니다 '

의견이 있으십니까?

UPD :

내가 browserify-istanbulcoffeeify 직후 변환 실행하여 생각하고 나에게 이런 좋은 다이어그램 준 것 : 지금, 나는 그것에서 app.js를 제거하기 위해 어떻게 든 필요 enter image description here

을, 정말 문제가되지 않습니다 정말 혼란 때문에

UPD :

아, 자바 스크립트 대신 커피 파일을 제공해야합니다.

preprocessors : { 
    'bin/tests.js': ['sourcemap'] 
    'src/client/**/*.coffee': ['coverage'] 
} 

답변

3

나는 내 자신의 질문에 답변했습니다. 또한 karma-coverage의 현재 버전에 버그가있는 것 같습니다. coverageReporter.typehtml (기본값은 HTML) 인 경우 오류가 발생합니다. 나는 그것을 알아 냈기 때문에 기쁘다. 테스트가 적용되는 코드의 양을 확인하는 것이 좋습니다.

+1

전체 gruntfile을 공유하는 마음입니까? –

+0

@RobertLevy 나는 Gulp를 사용하고 있습니다. 나는 여전히 일을 일반화하고, Yeoman 생성기로 랩핑을 계획하고 있으므로 다른 프로젝트의 부트 스트랩 포인트와 같은 스택을 재사용 할 수 있습니다. 물론 오픈 소스로 만드는 것도 계획의 일부입니다. 현재의 상태 프로젝트는 아직 너무 어려우며 세련된 작업이 필요합니다. – Agzam

+1

아직 완성되지 않은 상태에서도 구성을보고 싶습니다. – sandinmyjoints