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. 关于jQuery easyUI 添加合计统计行

    首先在onLoadSuccess中添加计算函数:计算方法按各自业务需要,我做了一个判断非数 然后再在gatagrid表格添加行,$('#div').datagrid('appendRow', {... ...

  2. thinkphp volist标签中加if判断的写法

    <if condition="$vo['devstatus'] eq 1">在线<else /> 离线</if> IF标签用法 <if c ...

  3. Flutter 构建的 Mac 桌面应用上无法发出网络?

    在上一篇文章中我们分享了,如何开发桌面应用.在本章文章中,来解决一下为何在 Mac 中无法发出网络情况的原因. 起因 事情​起因是这样的:我总觉得写一个 Demo 不足以体现我们开发同学的能力.直到最 ...

  4. ArcGIS API For Javascript :如何动态生成 token 加载权限分配的地图服务?

    一.需求 项目中我们通常会遇到为外协团队.合作友商提供地图服务的需求,因此对地图服务的权限需要做出分配. 二.现状 主流的办法是用用户和角色来控制,通常使用代理方式和用户名密码的方式来实现. 三.思路 ...

  5. Apache Hudi 介绍与应用

    Apache Hudi Apache Hudi 在基于 HDFS/S3 数据存储之上,提供了两种流原语: 插入更新 增量拉取 一般来说,我们会将大量数据存储到HDFS/S3,新数据增量写入,而旧数据鲜 ...

  6. Pashmak and Graph(dp + 贪心)

    题目链接:http://codeforces.com/contest/459/problem/E 题意:给一个带权有向图, 找出其中最长上升路的长度. 题解:先按权值对所有边排序, 然后依次 u -& ...

  7. Win32 COM组件 x Android Service (二)

    继续上一篇. 如果不使用AIDL(Android Interface Definition Language接口描述语言)编写服务接口的话,(COM组件,CORBA组件,ICE组件以及其它远程调用框架 ...

  8. 《算法导论中文版》PDF 下载

    电子版仅供预览及学习交流使用,下载后请24小时内删除,支持正版,喜欢的请购买正版书籍 在有关算法的书中,有一些叙述非常严谨,但不够全面:另一些涉及了大量的题材,但又缺乏严谨性.本书将严谨性和全面性融为 ...

  9. ArrayList和LinkedList的源码学习,理解两者在插入、删除、和查找的性能差异

    List的使用 List的子类 1). ArrayList 数据结构:数组 2). Vector 数据结构:数组 3). LinkedList 数据结构:循环双向链表 ArrayList .Vecto ...

  10. php使用QueryList轻松采集JavaScript动态渲染页面

    QueryList使用jQuery的方式来做采集,拥有丰富的插件. 下面来演示QueryList使用PhantomJS插件抓取JS动态创建的页面内容. 安装 使用Composer安装: 安装Query ...