Go程序开发过程中免不了要对所写的单个业务方法进行单元测试,Go提供了 “testing” 包可以实现单元测试用例的编写,不过想要正确编写单元测试需要注意以下三点:

  • Go文件名必须以 "_test" 结尾
  • Go文件中的方法名必须以 “Test” 打头
  • 方法的形参必须为 (t *testing.T)

以下是我写的一个unit_test.go单元测试文件

package test

import (
"testing"
"fmt"
) // 测试helloworld
func TestHelloWorld(t *testing.T) {
fmt.Println("This is a HelloWorld unit test")
} // 测试控制台打印
func TestPrint(t *testing.T) {
fmt.Println("This is a Print unit test")
}

测试整个文件命令如下:

$ go test -v unit_test.go

结果如下:

=== RUN   TestHelloWorld
This is a HelloWorld unit test
--- PASS: TestHelloWorld (0.00s)
=== RUN TestPrint
This is a Print unit test
--- PASS: TestPrint (0.00s)
PASS
ok command-line-arguments 0.005s

测试单个方法命令如下:

$ go test -v unit_test.go -test.run TestHelloWorld

结果如下:

=== RUN   TestHelloWorld
This is a HelloWorld unit test
--- PASS: TestHelloWorld (0.00s)
PASS
ok command-line-arguments 0.003s

Go单元测试注意事项及测试单个方法和整个文件的命令的更多相关文章

  1. Go 测试单个方法/性能测试

    Go 测试单个方法 gotest.go package mytest import ( "errors" ) func Division(a, b float64) (float6 ...

  2. Go 测试单个方法

    1.目录 gotest.go package mytest import ( "errors" ) func Division(a, b float64) (float64, er ...

  3. 廖雪峰Java8JUnit单元测试-1JUnit简介-1JUnit测试

    测试驱动开发(Test Driver Development) 1.使用main()方法测试的缺点: 只能有1个main()方法,不能把测试代码分离 没有打印出测试结果和期望结果,例如expected ...

  4. PHP学习笔记,curl,file_get_content,include和fopen四种方法获取远程文件速度测试.

    这几天在做抓取.发现用PHP的file_get_contents函数来获取远程文件的过程中总是出现失败,并且效率很低下.所以就做了个测试的demo来测试下PHP中各种方法获取文件的速度. 程序里面使用 ...

  5. unittest对单个测试类的多种测试执行方法总结

    基于unittest测试框架编写的测试脚本,一般单个测试类下会有多个测试方法,unittest也提供多种测试执行方式,下面就不同方式或者需求一一实操并说明: 一.使用unittest下main()方法 ...

  6. 如何为 SpringMVC 编写单元测试:普通 Controller 测试(转)

    前一篇文章我们已经知道如何配置使用了 SpringMVC 测试框架的单元测试. 现在我们就该亲身实践下如何为普通 Controller 编写单元测试了. 接下来一个很明显的问题就是: 什么是普通 Co ...

  7. .NET单元测试的艺术-3.测试代码

    开篇:上一篇我们学习单元测试和核心技术:存根.模拟对象和隔离框架,它们是我们进行高质量单元测试的技术基础.本篇会集中在管理和组织单元测试的技术,以及如何确保在真实项目中进行高质量的单元测试. 系列目录 ...

  8. Testing - 测试基础 - 方法

    选择和使用测试方法和工具 按照测试需求用途(或测试技巧)选择 在软件开发生命周期和软件测试流程中适当地选择 按照测试人员实际技能选择 选择可提供的和可执行的 测试方法 类别及技巧 目标 使用方法 举例 ...

  9. Visual Studio 单元测试之六---UI界面测试

    原文:Visual Studio 单元测试之六---UI界面测试 UI界面测试其实就是录制操作路径(Mapping),然后按照路径还原操作顺序的一个过程.这个方法对于Winform和Webform都同 ...

随机推荐

  1. 使用vue.js实现checkbox的全选和多个的删除功能

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...

  2. B. Fafa and the Gates

    http://codeforces.com/problemset/problem/935/B Two neighboring kingdoms decided to build a wall betw ...

  3. 1553: Good subsequence (很奇妙的set模拟题,也可以直接暴力)

    1553: Good subsequence Submit Page    Summary    Time Limit: 2 Sec     Memory Limit: 256 Mb     Subm ...

  4. 404 Note Found 队-Beta1

    目录 组员情况 组员1(组长):胡绪佩 组员3:庄卉 组员4:家灿 组员5:凯琳 组员6:翟丹丹 组员7:何家伟 组员8:政演 组员9:黄鸿杰 组员10:刘一好 组员11:何宇恒 展示组内最新成果 团 ...

  5. 一个考验c语言和数据结构功底的小项目

    想测一下自己c语言学习水平的朋友可以做一下这个项目试试,能做出来说明c语言已经入门了   #include<stdio.h> #include<stdlib.h> #inclu ...

  6. android6.0系统Healthd分析及低电量自动关机流程

    系统平台:android6.0概述Healthd是android4.4之后提出来的一种中介模型,该模型向下监听来自底层的电池事件,向上传递电池数据信息给Framework层的BatteryServic ...

  7. 高德地图API(流程法)整理分析

    [高德地图API(流程法)分析]: 前言:公司现在的网约车项目,使用的是高德地图,因为地图导航这一块的功能占比量比较大,为了方便大家对高德地图API的了解和学习使用,使用流程图把高德API分析整理了下 ...

  8. 卸载JLink驱动弹出“could not open INSTALL.LOG file”的解决方法

    我的操作环境是Windows 10 64位,JLink驱动的版本是V4.96. 最近好久不用STM32了,打算把JLink驱动卸载掉,但是无论是用JLink驱动自带的卸载程序还是控制面板来卸载,都会弹 ...

  9. 《图说VR入门》——Unity插件DK2使用教程

    本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/details/53339254 作者:car ...

  10. JavaScript总结(三)

    如何执行代码语句? 使用函数,函数是一组可以随时随地运行的语句,它们是JavaScript的核心.函数是由关键字function.函数名加一组参数以及置于括号中要执行的代码声明的.语法如下: Func ...