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