Тестовые данные обычно хранятся в каталоге с именем testdata
, чтобы отделить их от других исходных кодов или файлов данных (см. Документацию по команде go help test
). Инструмент go
игнорирует содержимое в этом каталоге.
210 000 слов в любом случае должны занимать только однозначные мегабайты оперативной памяти, а это немного. Просто используйте вспомогательную функцию, которая читает слова из файла перед каждым тестом (возможно, их кэширование), или определите функцию TestMain()
, которая читает их один раз и сохраняет их в глобальной переменной для доступа с помощью тестов, которые впоследствии запускаются.
Редактировать : Что касается лучших практик, иногда лучше хранить тестовые данные в testdata
, даже если они невелики. Например, мне иногда нужно использовать несколько коротких фрагментов JSON в тестовых случаях и, возможно, использовать их более одного раза. Хранение их в файлах с соответствующими именами в подкаталоге testdata
может быть более читабельным, чем засорение кода Go с помощью набора фрагментов JSON.
Небольшая потеря производительности, как правило, не является проблемой в тестах. Какой бы метод ни облегчал понимание кода, он может стать «лучшей практикой».