zoukankan      html  css  js  c++  java
  • Go语言

    任何程序都需要进行单元测试,以便在开发阶段就能尽早发现bug,下面是一个Go语言的单元测试案例。

    接上一次工程管理的项目,在 sub 目录创建 add.go ,编写一个加法函数:

    package sub
    
    /**
     * 计算num1 + num2的值
     */
    func Add(num1 int, num2 int) int {
    	return num1 + num2
    }
    

    在 add.go 项目的目录下,新建 add_test.go(名称为xxx_test.go,xxx为要测试程序的文件名称),内容如下:

    package sub
    
    // 导入测试需要使用的包
    import "testing"
    
    /**
     * 测试add.go的Add方法
     */
    func TestAdd(t *testing.T)  { // t是go test时传入的参数
    	sum := Add(1, 2) // 调用 add.go中的Add函数进行测试
    	if sum != 3 {
    		t.Errorf("Add(1, 2) 测试失败,返回值为%v, 1 + 2 应该等于 3", sum)
    	}
    }
    

    运行测试:

    cd sub # 切换到sub目录
    go test .
    

    修改 add.go 让错误发生:

    package sub
    
    /**
     * 计算num1 + num2的值
     */
    func Add(num1 int, num2 int) int {
    	return num1 + num2 + 1
    }
    

    再次运行 go test . ,结果如下:

    ==============================================================================
    关注 公众号 “HiIT青年” 发送 “go” 获取go安装包。(如果没有收到回复,说明之前取消过关注。)

    HiIT青年
    关注公众号,阅读更多文章。

  • 相关阅读:
    set集合 浅层拷贝会和深层拷贝
    "is"与"=="
    元组和字典
    运算符和列表
    Python 基础语法
    supervisor 安装配置详解
    如何运行vue项目
    过目不忘JS正则表达式
    vue Bus总线
    Robot Framework 环境安装(一)
  • 原文地址:https://www.cnblogs.com/itqn/p/15026112.html
Copyright © 2011-2022 走看看