我正在尝试第一次对Go软件包进行单元测试,并且在同一文件中有几个错误。type FooErr inttype BarErr intfunc (e *FooErr) Error () string { return "A Foo Error has occurred"}func (e *BarErr) Error () string { return "A Bar Error has occurred"}但是,所有命名约定看起来都像这样func TestXxx(*testing.T)(从testing软件包文档中)。这意味着我的测试文件将如下所示:func TestError (t *testing.T) { ... } // FooErrfunc TestError (t *testing.T) { ... } // BarErr这显然是具有相同签名的两个功能。推荐的处理方法是什么?
3 回答
精慕HU
TA贡献1845条经验 获得超8个赞
我将遵循测试包概述部分中记录的示例函数的约定:
“声明函数F,类型T和类型M上的方法M的示例的命名约定是:”
func ExampleF() { ... }
func ExampleT() { ... }
func ExampleT_M() { ... }
godoc需要示例函数的命名约定,但为了一致性,我将遵循相同的测试约定TestT_M。
largeQ
TA贡献2039条经验 获得超7个赞
您不需要使Xxx部分TestXxx
与实际函数名称匹配。为测试加上前缀的约定Test
足以使go test
命令使用它们。
就像Alex Lockwood在他的评论中说的那样,您可以根据需要使用TestFooError和TestBarError。
- 3 回答
- 0 关注
- 183 浏览
添加回答
举报
0/150
提交
取消