使用Go自身的测试系统使用起来非常简单,只需要添加很少的代码就可以快速开始测试。

目前Go测试系统支持单元测试、性能测试和示例测试。

单元测试

单元测试是指对软件中的最小可测试单元进行检查和验证,比如对一个函数的测试。

性能测试

性能测试,也称基准测试,可以测试一段程序的性能,可以得到时间消耗、内存使用情况的报告。

示例测试

示例测试,广泛应用于Go源码和各种开源框架中,用于展示某个包或某个方法的用法。

比如,Go标准库中,mail包展示如何从一个字符串解析出邮件列表的用法,非常直观易懂。

源码位于src/net/mail/example_test.go中:

  1. func ExampleParseAddressList() {
  2. const list = "Alice <alice@example.com>, Bob <bob@example.com>, Eve <eve@example.com>"
  3. emails, err := mail.ParseAddressList(list)
  4. if err != nil {
  5. log.Fatal(err)
  6. }
  7. for _, v := range emails {
  8. fmt.Println(v.Name, v.Address)
  9. }
  10. // Output:
  11. // Alice alice@example.com
  12. // Bob bob@example.com
  13. // Eve eve@example.com
  14. }

本节,我们通过简单的例子,快速体验一下如何使用Go的测试系统进行测试。