Стратегии: 1) Builder pattern — NewTestUser().WithName("Bob").Build() — гибко, читаемо. 2) Factory functions — createUser(t, opts...) с дефолтами. 3) SQL fixtures — файлы в testdata/, загружаются в TestMain. 4) Транзакции — каждый тест в транзакции, rollback после. Это быстрее пересоздания БД. 5) Docker/testcontainers — чистая БД для каждого test suite. Золотое правило: тест сам создаёт нужные данные и не зависит от других тестов. Shared state между тестами — источник flaky tests. Для cleanup используй t.Cleanup().
Как управлять тестовыми данными?
Middle
357 просмотровAFK Offer AI
Что такое advisory lock?