15. Go极简教程 编写测试

2018-06-03  本文已影响24人  超级大柱子

Go拥有一个轻量级的测试框架,它由 go test 命令和 testing 包构成

hello.go 编写待测试的函数

package hello

import "log"

func main() {
    log.Println("hello golang")
}

// 此函数一会用于测试
func add(a, b int) int {
    // 故意写错, 返回的值多了1
    return a + b + 1
}

在hello.go同级目录下创建hello_test.go文件:

package hello

import (
    "testing"
)

func TestAdd(t *testing.T) {
    got := add(20, 30)
    expect := 50
    if got != expect {
        t.Errorf("got := add(20, 30) != 50")
    }
}

执行测试命令, 此命令会遍历项目里的_test后缀文件进行执行:

go test

得到测试结果:

--- FAIL: TestAdd (0.00s)
        hello_test.go:11: got := add(20, 30) != 50
FAIL
exit status 1
FAIL    github.com/ymzuiku/hello        0.006s

如果把add函数的返回值改成正确的, 得到的测试结果:

PASS
ok      github.com/ymzuiku/hello        0.006s

Go极简教程 继续阅读( 目录)

上一篇下一篇

猜你喜欢

热点阅读