我在Go中为我的应用程序编写了一些单元测试。但是,测试失败,因为它找不到配置文件。通常,二进制文件会在路径下的工作目录中查找配置文件conf/*.conf。
conf/*.conf
我认为浏览到包含该目录conf/并go test在其中运行的目录可以解决该问题,但是它仍然报告文件系统找不到指定的路径。
conf/
go test
我如何知道go test使用某个目录作为工作目录,以便可以实际执行测试?
您可能可以使用调用方来获取当前测试源文件的路径,如下所示:
package sample import ( "testing" "runtime" "fmt" ) func TestGetFilename(t *testing.T) { _, filename, _, _ := runtime.Caller(0) t.Logf("Current test filename: %s", filename) }