#angular #unit-testing #puppeteer #teamcity #karma-runner
Вопрос:
Я пытаюсь запустить тесты на карму в teamcity и сталкиваюсь с такой ошибкой:
npm err! ОШИБКА: Не удалось настроить Chromium r901912! Установите переменную env «PUPPETEER_SKIP_DOWNLOAD», чтобы пропустить загрузку.
мои конфигурации:
пакет.json:
"test-ci": "ng test --configuration=ci"
angular.json > проекты >> архитектор:
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "src/test.ts",
"karmaConfig": "./karma.conf.js",
"polyfills": "src/polyfills.ts",
"tsConfig": "src/tsconfig.spec.json",
"scripts": [],
"styles": [
"src/styles.scss"
],
"assets": [
"src/assets",
"src/favicon.ico"
]
},
"configurations": {
"ci": {
"karmaConfig": "./karma.conf.ci.js"
}
}
}
karma.conf.ci.js:
const puppeteer = require('puppeteer');
process.env.CHROME_BIN = puppeteer.executablePath();
module.exports = function (config) {
config.set({
basePath: '',
frameworks: ['jasmine', '@angular-devkit/build-angular'],
plugins: [
require('karma-jasmine'),
require('karma-chrome-launcher'),
require('karma-jasmine-html-reporter'),
require('karma-coverage-istanbul-reporter'),
require('@angular-devkit/build-angular/plugins/karma'),
require('karma-teamcity-reporter')
],
client:{
clearContext: false // leave Jasmine Spec Runner output visible in browser
},
files: [],
preprocessors: {},
mime: {
'text/x-typescript': ['ts','tsx']
},
reporters: ["teamcity", "coverage-istanbul"],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
singleRun: true,
customLaunchers: {
ChromeCustom: {
base: 'ChromeHeadless',
flags: '--no-sandbox'
}
},
codeCoverage: true,
watch: false,
});
};
Build step custom script:
npm run test-ci
По сути, вопрос в том, в каком месте я могу настроить эту переменную. Извините, я разработчик интерфейса и вообще не разбираюсь в интерфейсных операциях, пытаюсь понять это, так что мой вопрос может быть глупым