To run all tests:
./run_all_tests.shThis will:
- Run unit tests (31 tests) - uses mocked vim APIs for speed
- Run integration tests (5 tests) - uses real Neovim with actual file operations
run_tests.lua- Test runner for unit tests (with mocks)run_all_tests.sh- Main script that runs everythingtests/run_real_test.lua- Runner for integration tests (real Neovim)tests/run_integration_tests.sh- Helper for integration tests
tests/collectors_spec.lua- Tests for selection and diagnostics collectorstests/core_spec.lua- Tests for util, token_budget, and config modulestests/integration_spec.lua- Tests for the assembly moduletests/lsp_collectors_spec.lua- Tests for types and callgraph collectors (mocked)
tests/lsp_integration_real_spec.lua- Tests LSP collectors with real TypeScript files and buffers
- Unit tests use mocks for speed and isolation
- Integration tests use real Neovim to verify actual behavior with files and buffers
- They run in separate processes to avoid state contamination