unit-testing - Golang : tests and working directory

标签 unit-testing go working-directory

我正在为我的 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/

相关文章:

c# - System.NotSupportedException : Unsupported expression: x => x

asp.net-mvc-3 - ASP.NET MVC3 UI 单元测试

go - 为什么 GO 例程不启动?

go - 使用以编程方式编写并连接到os.stdin的stdin执行命令

python - 如何设置当前工作目录?

c# - "Thread was being aborted."在测试中,测试在后台线程上触发委托(delegate)的代码

java - 如何模拟测试下方法调用的方法

unit-testing - 模拟接口(interface)函数没有被调用

java - 从 Windows 资源管理器启动的 jar 的默认工作目录是什么?