golang 单元测试

目录

在做项目的时候编写单元测试非常有必要,我们不仅可以保障每个函数正确性还能知道函数的变化。golang 自带了单元测试的库,还是可以用的。

编写测试用例

package test

import (
  "fmt"
// 导入要测试函数所在的库
  . "ncheck/libs/tools"
// 导入单元测试库
  "testing"
)

// 测试 Diiff_arr 方法 命名的方法是 Test_ + 方法名
func Test_Diff_arr(t *testing.T) {
  a1 := []string{"127.0.0.1", "192.168.0.1"}
  b1 := []string{"192.168.0.1"}
  r1 := Diff_arr(a1, b1)

  if r1[0] != "127.0.0.1" {
    fmt.Println(r1)
   // 如果测试失败输出失败
    t.Fatal("test failed")
  }

  a2 := []string{"127.0.0.1"}
  b2 := []string{"127.0.0.1"}
  r2 := Diff_arr(a2, b2)
  if len(r2) != 0 {
    t.Fatal("test failed")
  }

}

运行测试用例

# 在项目目录下执行我们的测试用例 没有出现错误就会显示 PASS
jimila@CDYJY-JINGML:ncheck$ go test -v  test/diff_arr_test.go 
=== RUN   Test_Diff_arr
--- PASS: Test_Diff_arr (0.00s)
PASS
ok  	command-line-arguments	0.002s

目录