Go 单元测试

本文代码github地址: https://github.com/zboyco/goutlis/blob/master/encry/md5_test.go


Go 编写单元测试

go 的单元测试编写很简单,记录一下下面几个点.

  1. 测试文件必须使用_test.go结尾,比如:md5_test.go .

  2. 导入testing包 .

  3. 测试方法名使用Test开始,比如TestMD5 .

  4. 接收一个testing.T类型的指针参数 .
    e.g.

    1
    func TestMD5(t *testing.T)
  5. 主要使用的Log方法

    1
    2
    3
    t.Log
    t.Fatal
    t.Error
  6. 测试方法

    1
    go test -v
  • -v用于输出日志,不使用-v的话将只显示结果

e.g.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package encry

import "testing"

func TestMD5(t *testing.T) {
t.Log("Test MD5 Start")

testText := "Hello Golang!"
resultString := "780c29c240e7c9cf6669eccfa7a321ad"

{
md5String := MD5(testText)
if md5String != resultString {
t.Errorf("Test MD5 End %v", ballotX)
} else {
t.Logf("Test MD5 End %v", checkMark)
}
}
}

out:

1
2
3
4
5
6
7
=== RUN   TestAesEncrypt
--- PASS: TestAesEncrypt (0.00s)
aes_test.go:9: Test Aes Encrypt Start
aes_test.go:15: Text : "Hello Golang!" , key : "1234567812345678"
aes_test.go:25: Test Aes Encrypt End ✓
PASS
ok github.com/zboyco/goutlis/encry 0.456s