我正在使用Karma运行角6单元测试,下面是我的配置:
karma.conf.js :
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')
],
customLaunchers: {
CustomHeadlessChrome: {
base: "ChromeHeadless",
flags: [
"--headless",
"--disable-gpu",
"--disable-web-security",
"--disable-site-isolation-trials",
"--remote-debugging-port-9222",
"--no-sandbox"
]
}
},
client:{
clearContext: false // leave Jasmine Spec Runner output visible in browser
},
coverageIstanbulReporter: {
dir: require('path').join(__dirname, 'coverage'), reports: [ 'html', 'lcovonly' ],
fixWebpackSourcePaths: true
},
angularCli: {
environment: 'dev'
},
reporters: ['progress', 'kjhtml'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome'],
singleRun: true
});
};在运行测试时,我会遇到以下错误,因为-
[Cannot load browser "CustomHeadlessChrome": it is not registered! Perhaps you are missing some plugin?在公共论坛上搜索之后,我发现下面的资源说明这是一个依赖问题- 无法加载浏览器"ChromeHeadless":它没有注册!。
因此,我将karma-chrome-launcher的依赖版本更改为2.2.0。但问题仍然存在。我也试图升级业力相关的依赖,但问题仍然存在。
有谁能帮忙吗?
下面是我在devDependencies中的package.json部分:
"devDependencies": {
"@angular-devkit/build-angular": "^0.11.2",
"@angular/cli": "^6.0.3",
"@angular/compiler-cli": "^6.0.3",
"@angular/language-service": "^6.0.3",
"@types/jasmine": "~2.5.53",
"@types/jasminewd2": "~2.0.2",
"@types/jquery": "^3.3.0",
"@types/node": "^6.0.101",
"codelyzer": "^4.1.0",
"jasmine-core": "^2.6.4",
"jasmine-spec-reporter": "~4.1.0",
"karma": "^1.7.1",
"karma-chrome-launcher": "^2.2.0",
"karma-cli": "~1.0.1",
"karma-coverage-istanbul-reporter": "^1.4.3",
"karma-jasmine": "^1.1.2",
"karma-jasmine-html-reporter": "^0.2.2",
"protractor": "^5.4.1",
"ts-node": "~3.2.0",
"tslint": "~5.7.0",
"typescript": "^2.7.2"
}发布于 2020-12-16 13:55:39
在位于角项目主目录中的karma.conf.js中,编辑文件并更改行:
browsers: ['Chrome'],至
browsers: ["ChromeHeadlessNoSandbox"],除了karma.conf.js中的“浏览器”配置外,还需要具有以下最小配置的"customLaunchers“配置:
customLaunchers: {
ChromeHeadlessNoSandbox: {
base: "ChromeHeadless",
flags: ["--no-sandbox"]
}
},对我来说这个解决方案很好..。
https://stackoverflow.com/questions/62043210
复制相似问题