我正在编写一个测试框架,并希望将示例放入我的文档中.为了可维护性,我想测试这些示例,但我不知道如何测试.
理想情况下,我希望有一个经过测试的示例,如下所示:
func TestFoo(t *testing.T) {
f := mytestframework.FromT(t)
// code using f
}
将上述代码段包装在func ExampleFoo() { }
中不起作用,因为函数定义不能嵌套(这是一个语法错误).
我试着把它放在一个单独的example_test.go
文件中,然而godoc会把它误认为是测试文件,根据go.dev博客的说法,是关于整个文件的例子(强调我自己的):
一个完整的文件示例是一个以_test.go结尾的文件,它正好包含一个示例函数no test or benchmark functions,和至少一个其他包级声明.
我已经看了Go的doc包的文档,但我不知道这对我是否有用.
我可以将该示例作为标记代码块粘贴到文档中的某个位置,但这样就不会进行测试,并且在将来可能会悄悄过时.
有没有办法测试示例测试,或者至少进行类型判断?