提问人:peterc 提问时间:10/26/2023 更新时间:10/30/2023 访问量:123
如何将 Karma 插件添加到没有 karma.conf.js 的 Angular 16
How to add a Karma plugin to an Angular 16 that has no karma.conf.js
问:
我有一个使用 v16 CLI 创建的 Angular 项目。所有单元测试都可以在本地使用 。ng test
我现在想将它们设置为在运行 teamcity 的构建机器上运行。在之前的 Angular 项目(我没有设置)中,它们都有一个 ,还有一个 ,它有注释karma.conf.js
src/test.ts
karma.conf.js 需要此文件,并以递归方式加载所有 .spec 和框架文件
在以前的项目中,我已经安装了 ,然后在 我添加到 plugins 数组中,然后我们可以使用karma-teamcity-reporter
karma.confi.js
require('karma-teamcity-reporter')
ng test --watch=false --browsers=ChromeHeadless --reporters=teamcity
但是,当我为我的新项目做同样的事情时,没有 ,or .如果我搜索另一行,就像我找不到它一样。karma.conf.js
src/test.ts
require('karma-jasmine')
我不确定是否有人在旧项目中(不再在这里)添加并设置了自己,但我的问题是我现在如何将其添加到我的 Angular 项目中?karma.conf.js
karma-teamcity-reporter
答:
更新
使用和/或编辑您在该部分和该部分下的添加创建 Karma 配置。ng generate config karma
angular.json
"karmaConfig": "karma.conf.js"
test > options
"builder": "@angular-devkit/build-angular:karma"
test
中的部分示例:test
angular.json
{
// ... more stuff
"projects": {
"project_ name": {
// ... stuff
"architect": {
// ... stuff
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"polyfills": [
"zone.js",
"zone.js/testing"
],
"tsConfig": "tsconfig.spec.json",
"inlineStyleLanguage": "scss",
"assets": [
"src/favicon.ico",
"src/assets"
],
"styles": [
"src/styles.scss"
],
"scripts": [],
"karmaConfig": "karma.conf.js"
}
}
}
}
}
}
旧答案:
您需要安装官方 CLI,然后使用以下命令初始化配置文件:init
$ npm install -g karma-cli
$ karma init my.conf.js
参考资料: http://karma-runner.github.io/6.4/intro/installation.html and http://karma-runner.github.io/6.4/intro/configuration.html
评论
karma.conf.js
plugins: [require('karma-teamcity-reporter')]
26 10 2023 17:01:58.343:ERROR [reporter]: Can not load reporter "teamcity", it is not registered!
npm install karma-teamcity-reporter
node_modules
karma-
karma-teamcity-reporter
node_modules
30 10 2023 07:03:54.209:ERROR [reporter]: Can not load reporter "teamcity", it is not registered!
ng test
"karmaConfig": "karma.conf.js"
angular.json
评论