Тестирование вложенных модулей Go
Выполнение теста Go может оказаться сложной задачей при работе с несколькими модулями Go. Традиционный подход с использованием go test./... завершится ошибкой, указывающей на отсутствие соответствующих пакетов или пакетов для тестирования.
Это связано с тем, что go test предназначен для работы с одним модулем, а не с несколькими. Для тестирования вложенных модулей требуется другой подход.
Одно из решений включает использование трюка оболочки для выполнения go-тестирования в каждом модуле индивидуально. Например, вы можете использовать find для поиска каталогов, содержащих файлы go.mod, и запустить go test в каждом из этих каталогов:
find . -type d -name go.mod -exec go test {}
В качестве альтернативы вы можете создать вспомогательный скрипт или Makefile для перебора нужных каталогов и соответственно запустить go test:
# test.sh
#!/bin/bash
for dir in */; do
if [ -f "$dir/go.mod" ]; then
go test "$dir"
fi
done
Некоторые более крупные проекты могут поддерживать список всех подмодулей и использовать сценарии, подобные показанному в примере выше, для облегчения тестирования.
Применяя эти методы, вы можете эффективно запускать тесты для нескольких вложенных модулей. Модули Go из родительского каталога.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3