gpt4 book ai didi

angular - Angular 6 的 karma 测试

转载 作者:行者123 更新时间:2023-12-01 11:15:15 27 4
gpt4 key购买 nike

我正在尝试使用 npm 运行 Angular Testing
ng test
但问题是 chrome 在测试完成后启动而不停止,所以我使用了:

ng test --watch=false

但这会导致错误“Chrome 69.0.3497 (Linux 0.0.0) ERROR”
这使 chrome 超时
我正在尝试在持续部署服务器上运行它,因此此错误导致在此过程中失败不知道如何停止

最佳答案

您可以使用 Headless chrome 在基于 unix 的系统下避免这种情况。

It's a way to run the Chrome browser in a headless environment. Essentially, running Chrome without chrome! It brings all modern web platform features provided by Chromium and the Blink rendering engine to the command line.



第一个:
配置您的 karma.conf.js使用 headless Chrome ,例如添加 customLaunchers :
...
browsers: ['Chrome'],
customLaunchers: {
ChromeNoSandboxHeadless: {
base: 'ChromeHeadless',
flags: ['--no-sandbox']
}
},

第二个:
告诉您的 package.json使用您的配置进行测试的脚本:
"scripts": {
...
"test": "ng test --browsers=ChromeNoSandboxHeadless",
...
},

然后运行 ​​ npm run testyarn test并且您的测试无需打开浏览器即可运行。您可以打开显示的 url在您喜欢的浏览器(firefox、chrome、chrome 等...)中。

第二种方式:
您可以使用 Karma-mocha-reporter 在控制台中显示所有测试用例
  • 第一:安装 npm install karma-mocha-reporter --save-dev
  • 第二:要求你的记者在里面karma.conf.jsplugins喜欢 require('karma-mocha-reporter'),

  • 然后添加新的记者 mocha到您的记者阵列: reporters: ['mocha', 'progress', 'kjhtml']
    使用 npm run test 运行您的测试或 yarn test将报告显示到您的控制台中。

    另一种方式:

    在您的 karma.config.json看看选项 singleRun ( bool 默认设置为 false )。套装 true , Karma 将启动并捕获所有配置的浏览器,运行测试,然后根据所有测试是否通过或任何测试失败以退出代码 0 或 1 退出。或者,使用标志 npm run test --single-run 运行它.

    关于angular - Angular 6 的 karma 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52700343/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com