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

导出结构仅用于在 Golang 中进行测试

导出结构仅用于在 Golang 中进行测试

Go
慕姐8265434 2021-07-30 13:01:59
我有一个许多其他包使用的实用程序包。我还创建了一些实现这些接口的测试结构。我把它们放进去interfaces_test.go我希望能够在我的*_test.go文件中的其他包中导入这些测试结构。我在http://golang.org/src/pkg/os/export_test.go 中看到了类似的东西,但无论我尝试什么,我都会收到与此类似的错误:go test something/mypackagemypackage/ant_lat_lon_test.go:46: undefined: rutl.TestAntennerFAIL    something/mypackage [build failed]有没有办法做到这一点?
查看完整描述

1 回答

?
千万里不及你

TA贡献1784条经验 获得超9个赞

*_test.go只有在测试它们所属的包时才会编译匹配的文件。如果您正在测试使用包 B 的包 A,您将无法访问_test.go包 B 中的代码。

所以两个选项是:

  1. 始终将测试支持代码编译到包 B 中。

  2. 如果测试支持代码只依赖于B的导出接口,可以考虑拆分成一个单独的包。


查看完整回答
反对 回复 2021-08-02
  • 1 回答
  • 0 关注
  • 168 浏览
慕课专栏
更多

添加回答

举报

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