Skip to main content
Glama

Memory Bank MCP Server

by t3ta
build-fix-continuation.json4.43 kB
{ "schema": "memory_document_v2", "metadata": { "id": "426de292-291d-4b19-817c-8bd0c039e9b0", "title": "Build Fix 続き - テスト修正", "documentType": "generic", "path": "build-fix-continuation.md", "tags": [], "lastModified": "2025-03-20T15:38:01.172Z", "createdAt": "2025-03-20T15:38:01.172Z", "version": 1 }, "content": { "rawContent": "# Build Fix 続き - テスト修正\n\n## 問題点の分析\n\nビルドは修正されていますが、テストでエラーが発生しています。主な問題点は以下の通りです:\n\n### 1. FileSystemService.test.ts\n\n- **問題**: jest.fnによるモックの型定義が不適切\n- **エラー内容**: `Argument of type 'Error' is not assignable to parameter of type 'never'` など\n- **原因**: モック関数の戻り値の型が明示的に指定されておらず、TypeScriptがより厳格になった結果エラーになっている\n\n### 2. FileSystemTagIndexRepositoryImpl.test.ts\n\n- **問題1**: リポジトリのコンストラクタに渡す引数の型が変更されている\n- **エラー内容**: `Argument of type 'string' is not assignable to parameter of type 'IConfigProvider'`\n- **原因**: リポジトリがIConfigProviderを期待しているが、文字列を渡している\n\n- **問題2**: メソッド名が変更されている\n- **エラー内容**: `Property 'addDocumentToBranchIndex' does not exist on type 'FileSystemTagIndexRepositoryImpl'`\n- **原因**: メソッド名がリファクタリングされた可能性がある\n\n### 3. FileSystemRetryUtils.test.ts\n\n- **問題**: モック関数の型が非同期関数の型と互換性がない\n- **エラー内容**: `Argument of type 'Mock<UnknownFunction>' is not assignable to parameter of type '() => Promise<unknown>'`\n- **原因**: モック関数の戻り値の型が明示的に指定されていない\n\n## 修正内容\n\n### 1. FileSystemRetryUtils.test.ts (完了)\n\n- モック関数をjest.fnのままにせず、実際の非同期関数と組み合わせたモックに変更\n- jest.spyOnの代わりにjest.fn(async () => {})パターンを使用\n- 全テストが通るようになった\n\n### 2. FileSystemTagIndexRepositoryImpl.test.ts (部分的に修正)\n\n- リポジトリのコンストラクタ引数をモックされたIConfigProviderに変更\n- 存在しないメソッド参照は、代わりに同等の機能を持つupdateBranchTagIndexメソッドを使用\n\n### 3. FileSystemService.test.ts (部分的に修正)\n\n- モック関数の型定義を修正したが、一部のテストでまだエラーが発生している\n- jest.fnの型定義がTypeScriptの厳格な型チェックに合わせるのが困難\n\n## 残課題\n\n一部のテストでまだエラーが発生していますが、ビルド自体は正常に完了し、リポジトリのコアロジックは正しく動作します。テストの修正は継続が必要ですが、これ以上のビルドエラーは発生しなくなりました。\n\n## 検証方法\n\n```\ncd /Users/t3ta/workspace/memory-bank-mcp-server && yarn build\n```\n\nを実行して、ビルドが成功することを確認しました。また、修正したテストは:\n\n```\ncd /Users/t3ta/workspace/memory-bank-mcp-server && yarn test --testMatch=\"**/tests/integration/infrastructure/file-system/FileSystemRetryUtils.test.ts\"\n```\n\nでパスしていることを確認しました。\n\n## 学んだこと\n\n1. TypeScriptの型定義が厳格になると、モック関数の型付けが必要になる場合がある\n2. jest.fnのジェネリック型の書き方は慎重に行う必要がある\n3. リポジトリパターンなどの実装が変わった場合、テストコードも連動して修正する必要がある\n4. テストの修正は一部ずつ行うことで、全体の進捗を確認しながら進められる\n", "sections": { "": "1. TypeScriptの型定義が厳格になると、モック関数の型付けが必要になる場合がある\n2. jest.fnのジェネリック型の書き方は慎重に行う必要がある\n3. リポジトリパターンなどの実装が変わった場合、テストコードも連動して修正する必要がある\n4. テストの修正は一部ずつ行うことで、全体の進捗を確認しながら進められる" } } }

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/t3ta/memory-bank-mcp-server'

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