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. 01KarmaとJasmineのテストスイート構築
  2. 02Angularコンポーネント、HTTPサービス、ディレクティブのテスト
  3. 03RxJSの動作と非同期処理の後始末の確認
  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 本番環境向けの設定カバレッジしきい値、レポーター、CI ランチャーを含む完全な karma.conf.js
§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 項目チェックリスト

コメント