为了账号安全,请及时绑定邮箱和手机立即绑定

是否可以将测试文件放在子文件夹中

是否可以将测试文件放在子文件夹中

Go
慕田峪7331174 2021-09-10 10:05:10
当我在同一目录中有模块及其测试时,它工作正常。- 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”


查看完整回答
反对 回复 2021-09-10

添加回答

代码语言

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号