Skip to main content
Glama

Shared Knowledge MCP Server

by j5ik2o
testing-01jpcvxfxe99ev6x7f60xvbk8v.md4.25 kB
--- description: testingに関するドキュメント ruleId: testing-01jpcvxfxe99ev6x7f60xvbk8v tags: ["development","layered-architecure"] aliases: ["testing-strategy", "test-levels"] globs: ["**/*.ts", "**/*.tsx", "**/*.js", "**/*.jsx", "**/*.go", "**/*.rs", "**/*.scala"] --- # レイヤーを考慮したテスト戦略 ## テストレベル ### ユニットテスト - **ドメイン層のテスト**。 - 値オブジェクト・エンティティのビジネスルールの検証。 - ドメインサービスのロジック検証。 - 不変条件の保証確認。 - **ユースケース層のテスト**。 - ビジネスフローの正確性確認。 - エッジケースと例外ハンドリングの検証。 - リポジトリインタフェースをモック化して外部依存を分離。 - **インフラストラクチャユーティリティのテスト**。 - 共通ユーティリティの機能検証。 - 設定管理機能の動作確認。 - 横断的関心事の検証。 ### 結合テスト - **コンポーネント間連携のテスト**。 - 複数のクラスやモジュール間の相互作用検証。 - インタフェース境界での連携確認。 - 依存コンポーネントとの整合性検証。 - **内部サブシステム間のテスト**。 - 機能グループ間の連携確認。 - モジュール境界を跨ぐデータフローの検証。 - 内部API・イベント伝搬の正確性確認。 - **実際のDBとの連携テスト**。 - Testcontainersを使用した実DBでのテスト実行。 - コンテナ化されたDBを一時的に起動してテスト。 - 実際のクエリとデータアクセスの検証。 - DBマイグレーションスクリプトの動作確認。 ### 統合テスト - **リポジトリ実装のテスト**。 - 実際のデータストアとの連携確認。 - トランザクション処理の検証。 - データマッピングの正確性確認。 - **複数層を横断するテスト**。 - ユースケース〜アダプタ層の連携検証。 - エンドツーエンドのフロー確認。 - 実際の外部依存との統合動作確認。 - **外部システム連携テスト**。 - 外部APIやサービスとの連携確認。 - 外部システムの振る舞いをシミュレートした検証。 - エラーハンドリングと回復メカニズムの確認。 ## テスト設計原則 ### BDDアプローチ - **Given-When-Then** パターンでテストを記述。 - Given: テストの前提条件を設定。 - When: テスト対象の操作する。 - Then: 結果の検証。 ### テストデータ管理 - **テストファクトリパターン**。 - 複雑なテストデータを簡潔に構築。 - テストデータ生成の再利用性を確保。 - **ビルダーパターン**。 - 柔軟なテストデータ構築。 - 読みやすく保守しやすいテストデータ定義。 ## テスト戦略の効果 1. **品質の早期保証**。 - 基盤部分から検証することで、根本的な問題を早期発見。 - 下位レイヤーから確実に品質を確保。 2. **安全なリファクタリング**。 - 十分なテストカバレッジにより設計変更やコード改善を安全に実施。 - 変更による影響範囲を迅速に特定。 3. **生きたドキュメント**。 - テストコードが仕様を表現する生きたドキュメントとして機能。 - 期待される動作が明確に記述され、常に最新状態を維持。 4. **テスト可能な設計の実現**。 - 依存関係の明確な分離によりモックとスタブの効果的活用が可能。 - 外部依存から分離されたテストで安定したテスト環境を構築。 5. **保守性と拡張性の向上**。 - 責務に応じたテスト戦略により、部品の交換や機能拡張が容易。 - テスト駆動で設計改善を継続的に実施可能。 このテスト戦略は、アプリケーションの各層の責務を明確に保ちながら、システム全体の品質を確保するための体系的なアプローチを提供します。

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/j5ik2o/shared-knowledge-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server