lz9*_*z96 6 architecture integration-testing unit-testing go
这是我的目录层次结构:
/
|-- main.go // package main, an HTTP server which accepts request and calls C/U APIs in pkg1 to finish certain task
|-- main_test.go // wants to call veryfyTaskNumber in pkg1_test
|-- pkg1 // package pkg1, CRUD APIs with Retrieve&Delete unexported for safety
|-- pkg1_test.go // contains a function verifyTaskNumber(*testing.T, taskName string, expectedNo int) which calls internal Retrieve function in pkg1
Run Code Online (Sandbox Code Playgroud)
我仅在中有一些用于测试的实用程序功能pkg1_test.go。main.go进口pkg1。现在,我想在我的中使用这些功能main_test.go。搜索之后,我找到了两种可能的解决方案,但是它们都有一些缺点:
pkg1.go。但是,这些函数可能包含在生成的二进制文件中go build。testutility程序包中,然后*_test.go手动将其导入。问题是这些函数在中使用了一些内部方法pkg1。所以我想知道是否有更好的解决方案来解决这个问题。
如果您在*_test.go整个项目的文件中使用此函数,最好将其移动到一个 utils 包并在您的*_test.go. 此外,由于此 util 包仅用于测试目的,因此我建议将 的内部函数的输出保存pkg1在支持文件中,并在调用应使用pkg1.
| 归档时间: |
|
| 查看次数: |
5287 次 |
| 最近记录: |