test-bridge

Featured

Bridge Server (TypeScript) のテスト実行・型チェック・テスト記述ガイド

Testing & QA 1,045 stars 100 forks Updated today MIT

Install

View on GitHub

Quality Score: 92/100

Stars 20%
100
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
86
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Bridge Server テスト ## 実行手順 以下を順番に実行し、全てパスすることを確認する。 ### 1. ユニットテスト ```bash npm run test:bridge ``` 特定ファイルのみ: ```bash cd packages/bridge && npx vitest run src/<filename>.test.ts ``` ウォッチモード (開発中): ```bash cd packages/bridge && npx vitest src/<filename>.test.ts ``` ### 2. TypeScript 型チェック ```bash npx tsc --noEmit -p packages/bridge/tsconfig.json ``` テストファイル (`*.test.ts`) と `vitest.config.ts` は `tsconfig.json` の exclude に入っているため、型チェック対象外。 ### 3. カバレッジ (任意) ```bash npm run test:bridge:coverage ``` ## テスト記述規約 ### ファイル配置・命名 - テストファイルはソースと同じディレクトリに `<module>.test.ts` として配置 - 例: `src/parser.ts` → `src/parser.test.ts` - vitest.config.ts の include パターン: `src/**/*.test.ts` ### import ```typescript import { describe, it, expect } from "vitest"; ``` - vitest からのみ import する (jest の互換 API は使わない) - テスト対象モジュールは `.js` 拡張子で import する (NodeNext moduleResolution) - 例: `import { parseRule } from "./claude-process.js";` ### テスト構造 ```typescript describe("関数名 or クラス名", () => { it("動作の説明 (英語)", () => { expect(actual).toBe(expected); }); }); ``` - `describe` でテスト対象の関数/クラス単位にグルーピング - `it` の説明は英語で、三人称現在形 (`"returns null for empty string"`) - 1つの `it` で1つの振る舞いを検証する ### テスト対象の方針 - 純粋関数・ロジック中心にテストする (高ROI) - プロセスspawn, ファイルシステム, WebSocket等の外部依存は対象外 - 現在テスト対象のモジュール: - `parser.ts` — parseClaudeEvent, claudeEventToServerMessage, parseClientMessage, normalizeToolResultContent - `claude-process.ts` — parseRule, matchesSessionRule, buildSessionRule, toolNeedsApproval, ACCEPT...

Details

Author
K9i-0
Repository
K9i-0/ccpocket
Created
6 months ago
Last Updated
today
Language
Dart
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category