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
    

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

  • 相关阅读:
    Android TextView里显示两种颜色
    Android 命令管理项目
    ANT build.xml文件详解
    Android Camera进行拍照
    Android 4.2以上的手机USB调试设置
    Android MediaPlayer和SurfaceView播放视频
    Android VideoView播放视频
    Android MediaRecorder录制音频
    Android Handler消息传递机制
    Android SurfaceView
  • 原文地址:https://www.cnblogs.com/lanyangsh/p/14218732.html
Copyright © 2011-2022 走看看