В последнее время я пытаюсь перейти от издевательства к гомоку. Я заметил, что во всей документации указано, что для того, чтобы mockgen генерировал вам макет, вы должны использовать //go:generate -source= -destination= -package
.
Когда я начал генерировать макеты, я решил, что буду писать файл директивы по файлу. Итак, я сделал один, например, fileA
(из fileA
, fileB
, fileC
, fileD
), ожидая, что при нажатии go generate ./...
будет сгенерировано только mock_fileA
. Я обнаружил, что сгенерированные макеты для fileB, C and D
также были сгенерированы, при условии, что я не указал, что я хочу, чтобы они генерировались.
Не могли бы вы помочь мне объяснить это поведение, поскольку я не могу четко определить Это? Я думал, что это как-то связано с тем, что файлы mock_fileA, ... B, ... C et c уже существовали в дереве файлов, и mockgen
заметил это и сумел определить, какие интерфейсы должны быть заглушил и все потрудился. Тем не менее, я не вижу этого упомянутого в документации, возможно, я пропускаю это. Означает ли это, что мы можем буквально пропустить написание директивы //go:generate -source= -destination= -package
и все гарантированно сгенерируется gomock?