golang单元测试

在$GOPATH的src目录下建目录demo_unittest

在目录demo_unittest下建文件calc.go,内容如下:

package demo_unittest

func Add(a, b int) int {
return a + b
} func Sub(a, b int) int {
return a - b
} func Mul(a, b int) int {
return a * b
} func Div(a, b int) int {
return a / b
}

在目录demo_unittest下建文件tests/calc_test.go内容如下

package tests

import (
"demo_unittest"
"testing"
) func TestAdd(t *testing.T) {
result := demo_unittest.Add(1, 2)
if result != 3 {
t.Errorf("TextUrl was incorrect, got: %d, want: %d.", result, 3)
}
} func TestSub(t *testing.T) {
result := demo_unittest.Sub(1, 2)
if result != -1 {
t.Errorf("TextUrl was incorrect, got: %d, want: %d.", result, -1)
}
} func TestMul(t *testing.T) {
result := demo_unittest.Mul(1, 2)
if result != 2 {
t.Errorf("TextUrl was incorrect, got: %d, want: %d.", result, 2)
}
} func TestDiv(t *testing.T) {
result := demo_unittest.Div(4, 2)
if result != 2 {
t.Errorf("TextUrl was incorrect, got: %d, want: %d.", result, 2)
}
}

在目录demo_unittest/tests下建文件calc1_test.go内容如下

package tests

import (
"demo_unittest"
"testing"
) func TestAdd1(t *testing.T) {
result := demo_unittest.Add(1, 2)
if result != 3 {
t.Errorf("TextUrl was incorrect, got: %d, want: %d.", result, 3)
}
} func TestSub1(t *testing.T) {
result := demo_unittest.Sub(1, 2)
if result != -1 {
t.Errorf("TextUrl was incorrect, got: %d, want: %d.", result, -1)
}
} func TestMul1(t *testing.T) {
result := demo_unittest.Mul(1, 2)
if result != 2 {
t.Errorf("TextUrl was incorrect, got: %d, want: %d.", result, 2)
}
} func TestDiv1(t *testing.T) {
result := demo_unittest.Div(4, 2)
if result != 2 {
t.Errorf("TextUrl was incorrect, got: %d, want: %d.", result, 2)
}
}

在tests目录下执行如下命令,运行单元测试

go test -v

如果只想运行某一个单元测试函数,运行如下命令

go test -v -run TestMul1 demo_unittest/tests

ARTS-S golang单元测试的更多相关文章

  1. Golang单元测试框架整理

    目录 一.单元测试是什么 二.单元测试的意义 三.Golang单元测试框架 3.1 Golang内置testing包 3.1.1 简单的测试 3.1.2 Benchmark 基准测试 3.1.3 运行 ...

  2. golang单元测试

    使用testing进行单元测试 golang的测试库testing 测试文件与被测试文件在同一个包中 测试文件名为被测试文件名(去后缀)_test.go 测试用例函数以Test开头,TestFunc1 ...

  3. golang 单元测试

    单元测试是质量保证十分重要的一环,好的单元测试不仅能及时地发现问题,更能够方便地调试,提高生产效率.所以很多人认为写单元测试是需要额外的时间,会降低生产效率,是对单元测试最大的偏见和误解. go 语言 ...

  4. golang 单元测试&&性能测试

    一:单元测试 1.为什么要做单元测试和性能测试 减少bug 快速定位bug 减少调试时间 提高代码质量 2.golang的单元测试 单元测试代码的go文件必须以_test.go结尾 单元测试的函数名必 ...

  5. golang 单元测试(一)

    单元测试函数类型 Test(功能测试) 函数规则: 函数名: TestXxxx , 以Test为前缀.Xxxx以大写字母开头 参数类型: *testing.T func TestXxxx(t *tes ...

  6. golang单元测试简述

      Golang中内置了对单元测试的支持,不需要像Java一样引入第三方Jar才能进行测试,下面将分别介绍Golang所支持的几种测试: 一.测试类型   Golang中单元测试有功能测试.基准测试. ...

  7. golang单元测试一(简单函数测试)

    0.1.索引 https://blog.waterflow.link/articles/1663688140724 1.简介 单元测试是测试代码.组件和模块的单元函数.单元测试的目的是清除代码中的错误 ...

  8. 【GoLang】GoLang 单元测试、性能测试使用方法

    单元测试代码: ackage test import ( // "fmt" "testing" ) func Test_FlowControl(t *testi ...

  9. Golang 单元测试和性能测试

    开发程序其中很重要的一点是测试,我们如何保证代码的质量,如何保证每个函数是可运行,运行结果是正确的,又如何保证写出来的代码性能是好的,我们知道单元测试的重点在于发现程序设计或实现的逻辑错误,使问题及早 ...

随机推荐

  1. (二十一)golang--字符串中的函数

    golang中ascii对应的字符占一个字节,而汉字占三个字节. (1)统计字符串的长度len (2)字符串遍历,同时处理有中文的问题r:=[]rune(str) (3)字符串转整数:n,err:= ...

  2. xposed实现个人收款免签支付

    想必很多程序员都有这样的烦恼,想做个人网站,但如何实现收款功能? 今天我就给大家分享一下我的实现方案:基于xposed逆向框架实现微信免签支付.支付宝免签支付 接下来给大家简单分享一下实现过程,这个过 ...

  3. hdu 1509 Windows Message Queue (优先队列)

    Windows Message QueueTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Oth ...

  4. nyoj 206-矩形的个数 (a*b*(a+1)*(b+1)/4)

    206-矩形的个数 内存限制:64MB 时间限制:1000ms 特判: No 通过数:16 提交数:37 难度:1 题目描述: 在一个3*2的矩形中,可以找到6个1*1的矩形,4个2*1的矩形3个1* ...

  5. Python3.7.1学习(七)mysql中pymysql模块详解(一)

    pymysql是纯用Python操作MySQL的模块,其使用方法和MySQLdb几乎相同.此次介绍mysql以及在python中如何用pymysql操作数据库, 以及在mysql中存储过程, 触发器以 ...

  6. centos下安装composer

    centos下,yum 安装没效果,按照官网的安装方法: curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/ ...

  7. RALM: 实时 Look-alike 算法在微信看一看中的应用

    嘉宾:刘雨丹 腾讯 高级研究员 整理:Jane Zhang 来源:DataFunTalk 出品:DataFun 注:欢迎关注DataFunTalk同名公众号,收看第一手原创技术文章. 导读:本次分享是 ...

  8. Bran的内核开发教程(bkerndev)-08 中断服务程序(ISR)

    中断服务程序(ISR)   中断服务程序(ISR)用于保存当前处理器的状态, 并在调用内核的C级中断处理程序之前正确设置内核模式所需的段寄存器.而工作只需要15到20行汇编代码来处理, 包括调用C中的 ...

  9. python requirements.txt的创建及使用

    要求文件(requirements.txt)是安装包的依赖项及版本的记录文件. pip: 创建 (venv) $ pip freeze >requirements.txt 使用 (venv) $ ...

  10. 编写自定义cmake配置文件FindXXX.cmake或者xxx-config.cmake | cmake with user defined entry

    本文首发于个人博客https://kezunlin.me/post/12ab5707/,欢迎阅读! cmake with user defined entry Guide FindXXX.cmake ...