golang单元测试

Posted endurance9

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang单元测试相关的知识,希望对你有一定的参考价值。

使用testing进行单元测试

  1. golang的测试库testing

  2. 测试文件与被测试文件在同一个包中

  3. 测试文件名为被测试文件名(去后缀)_test.go

  4. 测试用例函数以Test开头,TestFunc1(t *testing.T)

  5. 一个测试用例文件中可以有多个测试用例函数

在测试用例函数中调用被测试函数,根据函数返回结果与预期的正确结果的比较,

判断函数是否正确。t.Log输出日志,t.Fatal输出错误信息。

执行测试文件的方式

  • 执行全部测试文件中全部函数 go test 如果需要输出日志信息go test -v

  • 测试单个文件 go test -v xxx_test.go xxx.go
  • 测试单个方法 go test -v -test.run TestFunc1

// 测试文件  bt_test.go
package goo

import "testing"

func TestFunc1(t *testing.T) {
    result := Addto(100)
    if result == 5050 {
        t.Log("结果正确")
    } else {
        t.Fatal("结果有误")
    }
}
// 被测试文件  bt.go
package goo

func Func1(n int) int {
    if n == 1 {
        return 1
    } else if n <= 0 {
        return -1
    } else {
        return Func1(n-1) + n
    }
}
// 执行结果
=== RUN   TestAddto
--- PASS: TestAddto (0.00s)
    bt_test.go:8: 结果正确
PASS

以上是关于golang单元测试的主要内容,如果未能解决你的问题,请参考以下文章

Golang 单元测试与性能测试

Golang 单元测试规范

VSCode配置Golang单元测试实例

VSCode配置Golang单元测试实例

golang之单元测试

一文说尽Golang单元测试实战的那些事儿