我正在为我的 Go 应用程序编写一些单元测试。然而,测试失败,因为它找不到配置文件。通常二进制文件会在conf/*.conf
路径下的工作目录中查找配置文件。
我认为浏览到有 conf/
的目录并在其中运行 go test
可以解决它,但它仍然报告文件系统找不到路径指定。
如何告诉 go test
使用某个目录作为工作目录,以便实际执行测试?
最佳答案
您也许可以使用 Caller 来获取当前测试源文件的路径,如下所示:
package sample
import (
"testing"
"runtime"
"fmt"
)
func TestGetFilename(t *testing.T) {
_, filename, _, _ := runtime.Caller(0)
t.Logf("Current test filename: %s", filename)
}
关于unit-testing - Golang : tests and working directory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23847003/