mcpField
K
karma-skill

karma-skill

github.com/lambdatest测试与质量384220 次安装2 周前更新
代码仓库

关于 karma-skill

karma-skill 是配置和运行 Karma 测试的参考技能,涵盖 Jasmine 和 Angular 项目。内容包括生产环境配置、组件与服务测试、异步模式和 CI 工作流。

主要功能

  1. 01Karma 配置与运行命令
  2. 02Jasmine 测试模式
  3. 03Angular 组件与服务测试
  4. 04RxJS 和异步测试模式
  5. 05覆盖率、CI 与调试指南

适用场景

  1. 01搭建 Karma 和 Jasmine 测试套件
  2. 02测试 Angular 组件、HTTP 服务和指令
  3. 03检查 RxJS 行为及异步清理
  4. 04配置覆盖率和 CI 测试报告

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/lambdatest/agent-skills --skill karma-skill

安装后在 Claude Code 中输入/karma-skill确认已加载。

附带文件reference/advanced-patterns.mdreference/playbook.md

详细介绍

Karma 测试技能

核心模式

karma.conf.js
module.exports = function(config) {
  config.set({
    basePath: '',
    frameworks: ['jasmine'],
    files: [
      'src/**/*.js',
      'test/**/*.spec.js'
    ],
    preprocessors: {
      'src/**/*.js': ['coverage']
    },
    reporters: ['progress', 'coverage'],
    coverageReporter: {
      type: 'html',
      dir: 'coverage/'
    },
    port: 9876,
    colors: true,
    logLevel: config.LOG_INFO,
    autoWatch: true,
    browsers: ['Chrome', 'Firefox'],
    singleRun: false,
    concurrency: Infinity,

    // LambdaTest cloud browsers
    customLaunchers: {
      ChromeLT: {
        base: 'WebDriver',
        config: {
          hostname: 'hub.lambdatest.com',
          port: 80
        },
        browserName: 'Chrome',
        version: 'latest',
        name: 'Karma Test',
        tunnel: true,
        user: process.env.LT_USERNAME,
        accessKey: process.env.LT_ACCESS_KEY
      }
    }
  });
};
使用 Jasmine 框架进行测试
describe('StringUtils', () => {
  it('should capitalize first letter', () => {
    expect(StringUtils.capitalize('hello')).toBe('Hello');
  });

  it('should handle empty string', () => {
    expect(StringUtils.capitalize('')).toBe('');
  });
});
Angular 集成
// karma.conf.js for Angular
frameworks: ['jasmine', '@angular-devkit/build-angular'],
plugins: [
  require('karma-jasmine'),
  require('karma-chrome-launcher'),
  require('karma-coverage'),
  require('@angular-devkit/build-angular/plugins/karma')
],

安装:npm install karma karma-jasmine karma-chrome-launcher karma-coverage --save-dev

运行:npx karma start 或 npx karma start --single-run

初始化:npx karma init karma.conf.js

深入模式

生产级模式请参阅 reference/playbook.md:

章节内容
§1 生产环境配置完整的 karma.conf.js,包含覆盖率阈值、报告器和 CI 启动器
§2 组件测试服务模拟、DOM 交互和表单验证模式
§3 HTTP 服务测试HttpTestingController、错误处理和重试测试
§4 指令和管道测试宿主组件模式、包含边界情况的自定义管道
§5 RxJS 和异步模式debounceTime、switchMap 取消、订阅清理
§6 路由器和 NgRx 测试RouterTestingModule、MockStore、选择器覆盖
§7 LambdaTest 集成用于跨浏览器测试的云浏览器配置
§8 CI/CD 集成包含覆盖率和测试报告的 GitHub Actions
§9 调试表12 个常见问题及其原因和解决方法
§10 最佳实践用于生产级 Angular 测试的 14 项检查清单

评论

支持 Markdown