2 KiB
2 KiB
disttest
Пакет disttest
содержит интеграционные тесты.
Тесты запускают все компоненты внутри одного процесса. Это сделано для удобства отладки. В случае паники в любом месте, весь тест упадёт целиком. Все логи пишутся в один файл, так что всегда сразу понятен порядок событий. А к зависшему тесту можно подключиться в отладчике прямо из goland.
fixture.go
содержит код инициализации и остановки. Вам не нужно его менять. Вtestdata/{{ .TestName }}
хранится директория с исходным кодом, которую использует клиент в соответствующем тесте.workdir/{{ .TestName }}
сохраняет файлы после работы теста.single_worker_test.go
содержит тесты с одним воркером. Каждый тест проверяет отдельную функциональность. Отлаживайте тесты по одному, в порядке усложнения.three_workers_test.go
содержит тесты с тремя воркерами. Приступайте к их отладке, после того как тесты с одним воркером полностью пройдут.
Все тесты останавливают окружение отменяя корневой контекст. Если ваш код где-то неправильно обрабатывает отмену контекста, то тест может зависать на остановке. Вы можете отладить такое зависание, подключившись к зависшему тесту в дебагере, или послав SIGQUIT зависшему процессу.