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

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

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

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
  • 1 回答
  • 0 关注
  • 139 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信