Выбор ответа Junior Тесты, бенчмарки и модули обновлено

Кеш результатов go test

Вопрос

Вы перезапускаете go test ./... без изменений и видите (cached). Как заставить тесты реально выполниться?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: go test -count=1 ./... -count=1 отключает кеш результатов тестов. -v только меняет вывод. -run . тоже кешируемый флаг. go clean -modcache удаляет скачанные модули, а не кеш тестов (тот чистится go clean -testcache).

Варианты ответа

  1. go test -v ./...
  2. go test -run . ./...
  3. go test -count=1 ./...правильный ответ
  4. go clean -modcache

Разбор

-count=1 отключает кеш результатов тестов. -v только меняет вывод. -run . тоже кешируемый флаг. go clean -modcache удаляет скачанные модули, а не кеш тестов (тот чистится go clean -testcache). Кеш учитывает исходники, флаги, переменные окружения и файлы, которые тест открывал.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.