go(golang)测试框架中的“示例”有什么意义?

时间:2014-06-26 02:01:37

标签: testing go

我最近在go测试框架中阅读了testing and examples,并没有真正了解它们的用途。我看到文档说:

  

该软件包还运行并验证示例代码。示例函数可以包括以“Output:”开头的结束行注释,并在运行测试时与函数的标准输出进行比较。 (比较忽略前导和尾随空格。)

但是,我真的不明白这会存在的原因。在我编写测试时,似乎只是通过阅读单元测试和基准测试来了解如何使用代码。示例部分提供了哪些额外的动机?这对我来说似乎是多余的,但是,我确信go的发明者有充分的理由,特别是因为他们似乎通过设计他们的语言来理解良好的编程实践。我希望了解他们的动机或者如何在golang项目中以积极的方式使用这部分语言! :)

1 个答案:

答案 0 :(得分:10)

在Go中,源代码也用于生成文档。示例不是用于测试,而是用于文档。通过编译示例,您可以确保它们适用于使用它们的任何人。

使用golang.org浏览文档时,可以在浏览器中直接运行标准库中的示例。 Godoc.org会将您的示例代码直接链接到play.golang.org,您可以在其中进行试用。

作为示例或示例用法,请参阅:http://golang.org/pkg/sort/