在 Go(golang)测试框架中,“示例”有什么作用?

7
我最近在阅读关于Go测试框架中的测试和示例,但并不真正理解它们的用途。文档中说: “该包还会运行和验证示例代码。示例函数可能包括一个结尾行注释,该注释以“输出:”开头,并在运行测试时与函数的标准输出进行比较。(比较忽略前导和尾随空格。)” 然而,我并不真正明白这个存在的原因。当我编写我的测试时,似乎通过阅读单元测试和基准测试就应该更清楚如何使用代码了。示例部分提供了什么额外的动力?对我来说似乎是多余的,但我相信Go的发明者们有很好的理由将其放置在那里,特别是因为他们通过设计语言强调良好的编程实践。我希望能够理解他们的动机或者如何在golang项目中积极使用语言的这一部分! :)
1个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
11
在Go语言中,源代码也用于生成文档。示例不是用于测试,而是用于文档。通过编译示例,您可以确保任何使用它们的人都能正确运行它们。 在标准库中找到的示例可以直接在浏览文档时使用golang.org运行。Godoc.org将您的示例代码直接链接到play.golang.org,您可以在其中尝试它们。 例如或示例用法,请参见:http://golang.org/pkg/sort/

2
此外,测试通常是抽象的,测试私有API和/或旨在捕获边缘情况。拥有独立的示例(即,“这是您应该使用我的软件包/API的方式”)使软件包用户更清晰,而不是试图将您的API +测试组合在一起。 - elithrar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,