Agent Skills by ALSEL
Anthropic Claudeソフトウェア開発⭐ リポ 0品質スコア 50/100

javascript-typescript-jest

Jestを使用したJavaScript/TypeScriptのテスト作成におけるベストプラクティスを提供するスキルです。モックの戦略、テスト構造、よく使われるパターンなど、効果的なテストコードを書くための知識を網羅しています。

description の原文を見る

Best practices for writing JavaScript/TypeScript tests using Jest, including mocking strategies, test structure, and common patterns.

SKILL.md 本文

テスト構造

  • テストファイルを .test.ts または .test.js のサフィックス付きで命名する
  • テストファイルをテスト対象のコードの隣に配置するか、専用の __tests__ ディレクトリに配置する
  • 期待される動作を説明する説明的なテスト名を使用する
  • ネストされた describe ブロックを使用して関連するテストを整理する
  • パターンに従う: describe('Component/Function/Class', () => { it('should do something', () => {}) })

効果的なモック

  • 外部依存関係 (API、データベースなど) をモックしてテストを独立させる
  • モジュールレベルのモックには jest.mock() を使用する
  • 特定の関数のモックには jest.spyOn() を使用する
  • mockImplementation() または mockReturnValue() を使用してモックの動作を定義する
  • afterEachjest.resetAllMocks() を使用してテスト間でモックをリセットする

非同期コードのテスト

  • テスト内で常に Promise を返すか、async/await 構文を使用する
  • Promise の場合は resolves/rejects マッチャーを使用する
  • jest.setTimeout() を使用して遅いテストに適切なタイムアウトを設定する

スナップショットテスト

  • UI コンポーネントまたは頻繁に変更されない複雑なオブジェクトのスナップショットテストを使用する
  • スナップショットは小さくて焦点を絞ったものにしておく
  • コミット前にスナップショットの変更を慎重に確認する

React コンポーネントのテスト

  • コンポーネントのテストには Enzyme ではなく React Testing Library を使用する
  • ユーザー動作とコンポーネントのアクセシビリティをテストする
  • アクセシビリティロール、ラベル、またはテキストコンテンツで要素をクエリする
  • より現実的なユーザーインタラクションのため fireEvent ではなく userEvent を使用する

一般的な Jest マッチャー

  • 基本: expect(value).toBe(expected), expect(value).toEqual(expected)
  • 真偽値: expect(value).toBeTruthy(), expect(value).toBeFalsy()
  • 数値: expect(value).toBeGreaterThan(3), expect(value).toBeLessThanOrEqual(3)
  • 文字列: expect(value).toMatch(/pattern/), expect(value).toContain('substring')
  • 配列: expect(array).toContain(item), expect(array).toHaveLength(3)
  • オブジェクト: expect(object).toHaveProperty('key', value)
  • 例外: expect(fn).toThrow(), expect(fn).toThrow(Error)
  • モック関数: expect(mockFn).toHaveBeenCalled(), expect(mockFn).toHaveBeenCalledWith(arg1, arg2)

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
github
リポジトリ
github/awesome-copilot
ライセンス
MIT
最終更新
不明

Source: https://github.com/github/awesome-copilot / ライセンス: MIT

関連スキル

汎用ソフトウェア開発⭐ リポ 39,967

doubt-driven-development

重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 1,175

apprun-skills

TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。

by yysun
OpenAIソフトウェア開発⭐ リポ 797

desloppify

コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。

by Git-on-my-level
汎用ソフトウェア開発⭐ リポ 39,967

debugging-and-error-recovery

テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 39,967

test-driven-development

テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 39,967

incremental-implementation

変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。

by addyosmani
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: github · github/awesome-copilot · ライセンス: MIT