Advertisement
Guest User

Untitled

a guest
Jul 16th, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.00 KB | None | 0 0
  1. ## 测试包
  2.  
  3. 测试文件命令: `包名_test.go`, 测试文件包名: `包名_test`, 例如标准库 `errors`
  4.  
  5. > errors
  6.  
  7. ```go
  8. package errors
  9. ```
  10.  
  11. > errors_test.go
  12.  
  13. ```go
  14. package errors_test
  15. ```
  16.  
  17. ## `export_test.go`
  18.  
  19. 有时候测试包需要使用包中的一些私有元素,那么可以在 `export_test.go` 中专门导出这些元素给测试用,例如标准库 `fmt` 的 `export_test.go`
  20.  
  21. > export_test.go
  22.  
  23. ```go
  24. package fmt
  25.  
  26. var IsSpace = isSpace
  27. var Parsenum = parsenum
  28. ```
  29.  
  30. ## 示例函数
  31.  
  32. 示例函数以 `Example` 为函数开头,并且没有参数和返回值,并且有`// Output:`格式的注释,测试工具会执行是这个示例函数,然后检测这个示例函数的标准输出和注释是否匹配,并且示例函数会在产生的 doc 中展示, 例如标准库`errors`中的示例函数
  33.  
  34. ```go
  35. func ExampleNew_errorf() {
  36. const name, id = "bimmler", 17
  37. err := fmt.Errorf("user %q (id %d) not found", name, id)
  38. if err != nil {
  39. fmt.Print(err)
  40. }
  41. // Output: user "bimmler" (id 17) not found
  42. }
  43. ```
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement