testing - ng test --watch=false 测试失败时的 ERR 代码 ELIFECYCLE
问题描述
我有问题,我不认为这是正常的。
当我启动命令“ng test --watch=false”时至少有一个测试出错(错误的期望),命令退出并出现此错误
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! ulys-nav@0.0.1 test: `ng test --watch=false`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the ulys-nav@0.0.1 test script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/martels3/.npm/_logs/2019-10-21T11_20_00_883Z-debug.log
但是当我修复测试(正确的期望)时,每个都是正常的(没有错误)。
这是我的 karma.conf.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')
],
client: {
clearContext: false, // leave Jasmine Spec Runner output visible in browser
jasmine: {
random: false
}
},
coverageIstanbulReporter: {
dir: require('path').join(__dirname, '../coverage'),
reports: ['html', 'lcovonly'],
fixWebpackSourcePaths: true
},
reporters: ['progress', 'kjhtml'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome', 'ChromeHeadless'],
customLaunchers: {
ChromeHeadlessCI: {
base: 'ChromeHeadless',
flags: ['--no-sandbox', '--disable-gpu']
}
},
singleRun: false,
captureTimeout: 210000,
browserDisconnectTolerance: 3,
browserDisconnectTimeout: 210000,
browserNoActivityTimeout: 210000
});
};
出现这种可怕的错误是否正常?因为当我在 CI (bitRise) 中启动此命令时,它因此退出,我不想!
解决方案
也许你仍然有问题。我想我有适合你的解决方案,即使它不是最好的。出现此类问题的原因是sourceMap
属性的配置。如果您在项目中搜索关键字,您会在angular.json
和tsconfig.json
In angular.json
is 设置为 false,并且 intsconfig.json
它为 true。设置为 true 时,浏览器会断开连接并且测试不起作用。所以解决方案是像这样配置你的命令:
ng test --source-map=false --watch=false
对我来说,这是有帮助的解决方案,因为 sourceMap 似乎有问题。与此 GitHub 问题https://github.com/karma-runner/karma/issues/3267相关,并解释什么sourceMaps
是:
推荐阅读
- unity3d - 如何使用放大着色器编辑器在着色器 glsl 中创建生成器类
- linux - /bin/sh: passwd: 找不到命令
- acumatica - 在字段更新事件中更新时,自定义字段未显示更新值,为什么?
- angular - Angular / Nest / GraphQL - 无法上传文件(400 错误请求或 500)
- python - Python 中 `in` 和 `==` 的优先级
- r - scale_colour_manual 中的手动颜色未正确渲染
- c# - 来自多维数组c#的多维类数组
- c - 如何在 C 中使用 ctrlz 终止后台进程?
- linux - 为什么某些内核配置没有显示在 .config 中
- haskell - 使用 Barbies 或 Higgledy 将应用效果推向 HKD 领域