zoukankan      html  css  js  c++  java
  • go 单元测试—只执行指定的单元测试函数

    本文介绍go单元测试中,如何执行指定的单元测试函数。

    首先看下示例代码。

    新建目录utils,目录有以下文件

     ll
    total 16
    -rw-r--r--  1 lanyang  staff   132B 12 31 21:09 add_hint.go
    -rw-r--r--  1 lanyang  staff   360B 12 31 21:09 add_hint_test.go
    

    add_hint.go 文件内容如下:

    package utils
    
    func AddPrefix(s string) string {
    
            return "good " + s
    }
    
    
    
    func AddSuffix(s string) string {
    
            return s + "!"
    }
    
    

    add_hint_test.go 文件内容如下:

    package utils
    
    import (
            "testing"
            "strings"
    )
    
    
    func TestAddPrefix(t *testing.T) {
    
            src := "boy"
            dst := AddPrefix(src)
    
            if !strings.HasPrefix(dst, "good") {
                    t.Fatalf("unexpected dst:%s", dst)
            }
    }
    
    func TestAddSufffix(t *testing.T) {
            src := "good"
            dst := AddSuffix(src)
    
            if !strings.HasSuffix(dst, "!") {
                    t.Fatalf("unexpected dst:%s", dst)
            }
    }
    

    以上代码分别在字符串头部和尾部分别添加字符串前缀和后缀。

    执行当前目录下所有的单元测试:

    go test -v ./
    === RUN   TestAddPrefix
    --- PASS: TestAddPrefix (0.00s)
    === RUN   TestAddSufffix
    --- PASS: TestAddSufffix (0.00s)
    PASS
    ok  	_/go_exercise/utils	0.005s
    

    使用-run 指定需要执行的单元测试,支持正则匹配。

    例如,只执行 TestAddPrefix 单元测试:

    go test -v -run TestAddPrefix ./
    === RUN   TestAddPrefix
    --- PASS: TestAddPrefix (0.00s)
    PASS
    ok  	_/go_exercise/utils	0.006s
    

    例如,执行所有TestAdd开头的单元测试:

    go test -v -run TestAdd ./
    === RUN   TestAddPrefix
    --- PASS: TestAddPrefix (0.00s)
    === RUN   TestAddSufffix
    --- PASS: TestAddSufffix (0.00s)
    PASS
    ok  	_/go_exercise/utils	0.006s
    

    综上,本文简单介绍了单元测试中如何指定具体的单元测试函数。

  • 相关阅读:
    春色人间
    如是
    Go -- FileManage 自建云盘
    JavaScript -- 定义二维数组
    mysql 碎片清理
    vue2.0项目中使用Ueditor富文本编辑器示例
    浅谈css中一个元素如何在其父元素居中显示
    CSS -- 文字竖直居中
    memcached与redis区别
    mac -- 安装OpenCV
  • 原文地址:https://www.cnblogs.com/lanyangsh/p/14218732.html
Copyright © 2011-2022 走看看