当我在同一目录中有模块及其测试时,它工作正常。- module1.go- module1_test.go但是当文件和测试文件的数量增加时,很难浏览代码。是否可以将 go 测试放在子文件夹中以获得更清晰的代码结构?当我尝试这样做时,我遇到了命名空间错误。我将文件放入文件module1_test.go夹./test- module1.go- test/module1_test.go现在我在测试时出错:test/module1_test.go:8: undefined: someFunc我的module1.go代码:package package1func someFunc() {}我的module1_test.go代码:package package1import ( "testing")func TestsomeFunc(t *testing.T) { someFunc()}
1 回答
POPMUISE
TA贡献1765条经验 获得超5个赞
您可以将测试放在另一个目录中,但这并不常见。您的测试将需要导入主题包,并且无法访问主题包中未导出的方法。这将起作用:
文件 $GOPATH/src/somepath/package1/module1.go
package package1
func SomeFunc() {
}
文件 $GOPATH/src/somepath/package1/test/module1_test.go
package test
import (
"testing"
"somepath/package1"
)
func TestSomeFunc(t *testing.T) {
package1.SomeFunc()
}
一些注意事项:
我将 SomeFunc 更改为导出的方法,以便测试可以访问它。
测试导入主题包“somepath/package1”
- 1 回答
- 0 关注
- 139 浏览
添加回答
举报
0/150
提交
取消