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
    

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

  • 相关阅读:
    OAuth2.0标准类库汇总
    RabbitMQ:Docker环境下搭建rabbitmq集群
    WCF&AppFabric :异常消息: 内存入口检查失败
    前端框架Vue、Angular、React
    串口驱动开发
    组合而不是继承,单一职责
    项目管理的一个月
    软件架构的一个设想以及谈一下过去两年开发软件的过失
    TCP中需要了解的东西
    C++编程新思维中的技巧
  • 原文地址:https://www.cnblogs.com/lanyangsh/p/14218732.html
Copyright © 2011-2022 走看看