我正准备使用npm进行角度测试
ng test
但是问题是chrome在测试完成后开始而不是停止,所以我使用了:
ng test --watch=false
但会导致错误“ Chrome 69.0.3497(Linux 0.0.0)错误” chrome超时 我试图在连续部署服务器上运行它,所以此错误会导致进程失败,无论如何停止
答案 0 :(得分:2)
在您的karma.conf.js
中,将singleRun
更改为true
。
singleRun: true
答案 1 :(得分:1)
您可以使用Headless chrome
在基于unix的系统上避免这种情况这是在无头环境中运行Chrome浏览器的一种方法。本质上,在没有Chrome的情况下运行Chrome!它将Chromium和Blink渲染引擎提供的所有现代Web平台功能引入命令行。
第一
将您的karma.conf.js
配置为使用无头Chrome,例如添加customLaunchers
:
...
browsers: ['Chrome'],
customLaunchers: {
ChromeNoSandboxHeadless: {
base: 'ChromeHeadless',
flags: ['--no-sandbox']
}
},
秒:
告诉您的package.json
脚本使用您的配置进行测试:
"scripts": {
...
"test": "ng test --browsers=ChromeNoSandboxHeadless",
...
},
然后运行npm run test
或yarn test
,则无需打开浏览器即可进行测试。您可以在首选的浏览器(Firefox,铬,铬等)中打开显示的url
。
第二种方式: 您可以使用Karma-mocha-reporter
在控制台中显示所有测试用例npm install karma-mocha-reporter --save-dev
karma.conf.js
下的plugins
内,就像require('karma-mocha-reporter'),
然后将新的报告者mocha
添加到您的报告者数组:reporters: ['mocha', 'progress', 'kjhtml']
使用npm run test
或yarn test
运行测试会将报告显示到控制台中。
另一种方式:
在您的karma.config.json
中,查看选项singleRun
(布尔值默认设置为false
)。设置true
,Karma将启动并捕获所有已配置的浏览器,运行测试,然后以退出代码0或1退出,具体取决于是否通过了所有测试或任何测试失败。 Alternativ,使用标志npm run test --single-run
运行它。