- Golden traces: docs/golden_traces/v1/, format protocol/request/context/result - trace_to_golden bin, golden_traces_v1_validate test - Makefile: make golden, make test-protocol - npm scripts: golden, test-protocol - CI: .github/workflows/protocol-check.yml - PROTOCOL_V1.md, PROTOCOL_V2_PLAN.md - Policy for updating golden traces in README Co-authored-by: Cursor <cursoragent@cursor.com>
2.5 KiB
2.5 KiB
PAPA YU Tests
Структура
tests/
├── README.md # Этот файл
└── fixtures/ # Тестовые фикстуры (минимальные проекты)
├── minimal-node/ # Node.js проект без README
└── minimal-rust/ # Rust проект без README
docs/golden_traces/ # Эталонные трассы (регрессия, без raw_content)
├── README.md
└── v1/ # Protocol v1 fixtures
001_fix_bug_plan.json
002_fix_bug_apply.json
...
Юнит-тесты (Rust)
Запуск всех юнит-тестов:
cd src-tauri
cargo test
Текущие тесты покрывают:
golden_traces_v1_validate— валидация fixtures вdocs/golden_traces/v1/(schema_version, schema_hash, parse, validate_actions, NO_CHANGES)detect_project_type— определение типа проектаget_project_limits— лимиты по типу проектаis_protected_file— защита служебных файловis_text_allowed— фильтр текстовых файловsettings_export— экспорт/импорт настроек
E2E сценарий (ручной)
См. docs/E2E_SCENARIO.md для пошагового сценария:
- Запустить приложение:
npm run tauri dev - Выбрать одну из фикстур (например,
tests/fixtures/minimal-node) - Запустить анализ
- Применить рекомендованные исправления
- Проверить, что README.md создан
- Откатить изменения (Undo)
- Проверить, что README.md удалён
Тестовые фикстуры
minimal-node
Минимальный Node.js проект:
package.json— манифест пакетаindex.js— точка входа- Нет README — должен быть предложен при анализе
minimal-rust
Минимальный Rust проект:
Cargo.toml— манифест пакетаsrc/main.rs— точка входа- Нет README — должен быть предложен при анализе
Автоматизация E2E (будущее)
Планируется использовать:
- Tauri test — для тестирования команд
- Playwright — для тестирования UI