Skip to content

Latest commit

 

History

History
51 lines (36 loc) · 3.21 KB

File metadata and controls

51 lines (36 loc) · 3.21 KB

Исправления типизации в тестах

В ветке fix-logging-to-stderr были исправлены многочисленные ошибки типизации в тестовых файлах проекта MCP/filesystem. Эти исправления позволили успешно пройти процесс сборки с помощью TypeScript, который ранее завершался ошибками.

Основные типы исправлений

  1. Замена общих типов Jest mock на специфические типы

    • Заменены все jest.Mock на более точные jest.MockedFunction<typeof ...>
    • Например: (fs.readFile as jest.Mock)(fs.readFile as jest.MockedFunction<typeof fs.readFile>)
  2. Добавление явного приведения типов для возвращаемых значений

    • Добавлено as any для возвращаемых значений мок-функций
    • Например: mockResolvedValue(undefined)mockResolvedValue(undefined as any)
  3. Исправление операций с Buffer

    • Добавлено приведение типов для операций копирования буфера
    • Например: Buffer.from(data).copy(buffer)Buffer.from(data).copy(buffer as Buffer)
  4. Правильная типизация для process.cwd

    • Использовано двойное приведение типов для корректной замены process.cwd
    • Например: process.cwd = jest.fn()...(process.cwd as unknown as jest.MockedFunction<typeof process.cwd>) = jest.fn()...
  5. Добавление проверок типов для строковых операций

    • Добавлены проверки для строковых переменных перед вызовом методов
    • Например: if (existingContent.slice(-i) === content.slice(0, i))if (typeof existingContent === 'string' && typeof content === 'string' && existingContent.slice(-i) === content.slice(0, i))
  6. Улучшение проверок на null для доступа к объектам и операциям с массивами

    • Добавлены проверки на существование свойств объектов перед обращением к ним
    • Исправлены проверки при работе с массивами и объектами

Затронутые файлы

  • test/basic-tests.test.ts
  • test/overlap-algorithms.test.ts
  • test/path-security.test.ts
  • test/server-handlers.test.ts
  • test/smart-append.test.ts

Проверка работоспособности

Для проверки всех исправлений можно выполнить:

# Запуск компиляции для всех тестовых файлов
./compile-all-tests.bat

# Запуск базовых тестов
npm run test

Эти исправления помогли устранить ошибки сборки, связанные с типизацией в тестовых файлах проекта.