Go 包中测试的共享代码
在 Go 中,组织包的测试代码可能会引发有关在何处放置所使用的共享函数的问题跨测试文件。
问题:
一个包包含多个文件,每个文件都有一个对应的测试文件。测试用例使用不应驻留在包源文件中的常见辅助函数。
解决方案:
Go 允许测试文件共享代码,而无需显式导入语句。只需在任何测试文件中实例化共享函数,使它们可供使用相同 package 子句的其他测试文件使用。
例如:
<code class="go">package foo_test import "testing" func setupHelper() {} // Shared helper function func Test1(t *testing.T) { setupHelper() } func Test2(t *testing.T) { setupHelper() }</code>
或者,测试文件可以共享代码,而无需为每个文件创建单独的文件。
<code class="go">package foo import "testing" func Test1(t *testing.T) { // Shared code can go here } func Test2(t *testing.T) { // Shared code can also go here }</code>
请注意,测试文件可能使用相同的包子句或不同的子句,从而影响它们之间标识符的可见性。
以上是如何在 Go 包中的测试文件之间共享代码?的详细内容。更多信息请关注PHP中文网其他相关文章!