1
TeamCity 빌드 서버에서 Angular CLI 프로젝트에 대한 단위 테스트를 실행하려고합니다. 내가 명령을 사용하는 경우"ng test"가 커버리지 보고서와 TeamCity보고를 동시에 수행 할 수 없음
는 예상대로
ng test --single-run --code-coverage
후, 나는 테스트 커버리지 보고서를 얻을 수 있지만, 개별 테스트 결과 인 TeamCity에 표시되지 않습니다.
내가 인 TeamCity보고 설정 한 경우 :
ng test --single-run --code-coverage --reporters teamcity
다음 테스트를 통과하고 인 TeamCity보고는 완벽하게 작동하지만 자동으로 코드 커버리지 보고서를 작성하는 데 실패합니다. 이 동작은 로컬 컴퓨터에서 재현 할 수 있으므로 빌드 서버가 구성되는 방식과 아무 관련이 없습니다.
두 옵션이 서로 배타적이어야하는 이유가 있습니까?
참고 - Configuring code coverage report for Karma on TeamCity과 같은 문제는 아닙니다. 보고서가 있으면 TeamCity에서 올바르게 표시하지만 TeamCity보고 플래그를 켜면 범위 폴더가 존재하지 않습니다.
추가 정보 :
- 각도-CLI 버전 1.0.0 - rc.4
- 카르마 버전 1.4.1
- 노드 버전 (첫번째 1.0.0-rc.1를 사용하여 발견 된 문제) 6.9.4
- 윈도우 7 엔터프라이즈
카르마 구성 :
,691,363// Karma configuration file, see link for more information
// https://karma-runner.github.io/0.13/config/configuration-file.html
module.exports = function (config) {
config.set({
basePath: '',
frameworks: ['jasmine', '@angular/cli'],
plugins: [
require('karma-jasmine'),
require('karma-chrome-launcher'),
require('karma-jasmine-html-reporter'),
require('karma-coverage-istanbul-reporter'),
require('@angular/cli/plugins/karma'),
require('karma-teamcity-reporter')
],
client:{
clearContext: false // leave Jasmine Spec Runner output visible in browser
},
files: [
{ pattern: './src/test.ts', watched: false }
],
preprocessors: {
'./src/test.ts': ['@angular/cli']
},
mime: {
'text/x-typescript': ['ts','tsx']
},
coverageIstanbulReporter: {
reports: [ 'html', 'lcovonly' ],
fixWebpackSourcePaths: true
},
angularCli: {
environment: 'dev'
},
reporters: config.angularCli && config.angularCli.codeCoverage
? ['progress', 'coverage-istanbul']
: ['progress', 'kjhtml'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome'],
singleRun: false
});
};
안녕하십니까,이 보고서의 출력은 어느 디렉토리에 있습니까? – Coolbreeze
코드 커버리지 보고서는 프로젝트의 루트 아래에있는 'coverage'라는 디렉토리에있는 HTML 파일 집합입니다. TeamCity 보고서 (단위 테스트의 결과)는 표준 출력으로 이동하며 테스트가 TeamCity 빌드 서버에서 실행되는 경우에만 유용합니다. 내 로컬 컴퓨터에서 빌드를 실행할 때 TeamCity 보고서를 해제하여 터미널의 노이즈를 줄입니다. –