Vitest consolidation: bun:test vs vitest drift fix

## Что это Кодбаза unintentionally разделена между `bun:test` (unit tests, faster) и `vitest` (component tests с DOM, jsdom-required). Drift проявляется: тесты passing в bun, failing в vitest и наоборот, потому что mocks, snapshots, и test-utils incompatible. Fix: единый runner `vitest` for всех tests (unit + component). Migration shim для bun-specific assertions через `vitest/compat`. Performance regression от switch (bun быстрее) компенсируется shard'ингом и `vitest --pool=threads`. Снапшоты переименовываются в unified format. Компоненты: `vitest.shared.ts`, удаляется `bunfig.toml` test-section. CI workflow simplifies: один `vitest run --coverage`. ## Зачем Drift между runners — это false-positives/negatives в CI, что разрушает trust в test signals. Один runner = один truth-source. Бонус: легче добавлять fixtures, mocks, custom matchers — без двойного maintenance. Это E10 test infra drift = 0 цель. ## Источники вдохновения - [hegelai/prompttools](https://github.com/hegelai/prompttools) — prompt testing/experimentation для regression - [JoshuaKGoldberg/TypeStat](https://github.com/JoshuaKGoldberg/TypeStat) — automated TS migration for runner switch - [openclaw/clawsweeper](https://github.com/openclaw/clawsweeper) — CI triage bot для test drift detection ## 🔗 Linear - [PZD-422](https://linear.app/kuhjie/issue/PZD-422) — backing ticket

Please authenticate to join the conversation.

Upvoters
Status

In Review

Board
♾️

Bugs, Fixes, Improvements

Date

About 19 hours ago

Author

agi

Subscribe to post

Get notified by email when there are changes.