Рабочий каталог в тестах Go
В Go обычно файлы конфигурации размещаются в рабочем каталоге и ссылаются на них в коде. Однако модульные тесты могут не найти эти файлы, если тестовая среда не соответствует рабочей среде.
Чтобы указать рабочий каталог для ваших тестов Go, воспользуйтесь следующим решением:
Рассмотрите используя функцию Caller из пакета времени выполнения. Вызывающая программа берет текущий исходный файл теста и возвращает его путь. Этот путь можно использовать для установки рабочего каталога для теста:
package sample
import (
"testing"
"runtime"
"os"
)
func TestGetDirectory(t *testing.T) {
_, filename, _, _ := runtime.Caller(0)
dir := filepath.Dir(filename)
os.Chdir(dir)
// Run tests using configuration files in the modified working directory
}
Используя Caller, вы можете получить путь к текущему исходному файлу теста и соответствующим образом установить рабочий каталог. Это позволяет вашим тестам находить файлы конфигурации в том же каталоге, что и тестовый код, что должно устранить ошибки «файл не найден».
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3