gpt4 book ai didi

angular - 无法再使用 --reporters 选项启动 ng 测试

转载 作者:太空狗 更新时间:2023-10-29 17:07:27 24 4
gpt4 key购买 nike

我已经在 Angular 5 应用程序上工作了一段时间,通常使用以下命令开始我的测试:

ng test --reporters dots

这按预期工作。我最近开始了一个新的 Angular 6 项目,并认为我可以使用相同的命令来运行我的 karma 测试,但每当我尝试指定 --reporters 时,我都会收到以下错误:

Data path ".reporters" should be array.

这个错误对我来说并没有多大意义,它究竟在哪里需要这个数组。我在 karma.conf.js 中确实有一个 reporters: 数组,但它与我在 Angular 5 项目中得到的相同。

郑重声明,ng test 工作正常,但我更喜欢本地测试的点输出。我还应该指定我尝试从命令行运行的任何记者也显示了这种确切的行为。我也不能运行我想要的报道记者。

这是我的 karma.conf.js .相关记者栏目:

reporters: ['spec', 'kjhtml'],

我也试过向其中添加 'dots',但没有效果。

我的package.json在脚本中有如下两行:

"test": "ng test --code-coverage",
"watch": "ng test --reporters dots",

npm run test 工作正常,但 npm run watch 不行。它给出了上面报告的错误。

相关的开发依赖:

"@angular-devkit/build-angular": "~0.10.7",
"@angular/cli": "6.2.7",
"karma": "^1.7.1",
"karma-chrome-launcher": "^2.2.0",
"karma-cli": "^1.0.1",
"karma-coverage-istanbul-reporter": "^2.0.4",
"karma-jasmine": "^1.1.2",
"karma-jasmine-html-reporter": "^0.2.2",
"karma-mocha-reporter": "^2.2.1",
"karma-remap-istanbul": "^0.2.1",
"karma-spec-reporter": "0.0.32",

最佳答案

可以尝试通过growl加点记者。

npm install karma-growl-reporter --save-dev

karma.conf.js中设置配置

config.set({
plugins: [
require('karma-growl-reporter'),
...
],
...
reporters: ['spec', 'kjhtml', 'growl'],
});

更新

如果您从 Angular/CLI (v 6.2.7) 安装 karma,您需要将它更新到 v7.0.2 ("@angular/cli": "~7.0.2"devDependencies 中)。

我认为这是因为 v6.2.7 中没有提供 reporters 键(我在 schema.json 中没有找到 reporters,但是有 v7.0.2)

更新
来自 this issue 我们可以看到 v6.x.x 是删除标记 --reporter。这意味着我们无法从控制台生成报告(ng test --reporter 不起作用)。

默认情况下,当我们创建和添加 reporter 另一个 karma2.conf.js 时有变体,例如:

module.exports = function (config) {
config.set({

plugins: [
....
require('karma-growl-reporter'),
....
]
...
porters: ['dots'],

并从控制台调用 ng test --karma-config PATH_TO_ANOTHER_KONF_FILE.js

关于angular - 无法再使用 --reporters 选项启动 ng 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53603538/

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