Go 测试中的工作目录
在 Go 中,通常将配置文件放置在工作目录中并在代码中引用它们。但是,如果测试环境与生产环境不匹配,单元测试可能无法找到这些文件。
要为 Go 测试指定工作目录,请探索以下解决方案:
考虑使用运行时包中的 Caller 函数。调用者获取当前的测试源文件并返回其路径。该路径可用于设置测试的工作目录:
<code class="go">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 }</code>
通过使用Caller,您可以获得当前测试源文件的路径并相应地设置工作目录。这允许您的测试在与测试代码相同的目录中找到配置文件,这应该可以解决文件未找到的错误。
以上是如何设置 Go 测试的工作目录?的详细内容。更多信息请关注PHP中文网其他相关文章!