1. Golang单元测试对文件名和方法名要求文件名必须以xx_test.go命名方法必须是Test[^a-z]开头方法参数必须 t *testing.T
2. go test 参数解读 go test是go语言自带的测试工具,其中包含的是两类,单元测试和性能测试。通过go help test可以看到go test的使用说明:格式go test [-c] [-i] [build flags]
转载
2024-07-01 19:40:55
42阅读
编写单元测试,运行时报下面的错误haima@haima-PC:/media/haima/34E401CC64DD0E28/site/go/src/haimait/learn/base/cheshi01$ go test
go: cannot find main module, but found .git/config in /media/haima/34E401CC64DD0E28/site/g
转载
2024-04-30 19:17:54
37阅读
前言TDD(Test Driven Development),那么我们如何做到可反复、无遗漏、高效地测试我们自己写的的代码?实现敏捷开发呢?这就需要我们自己给自己写的代码写测试用例! 本文主要介绍下在Go语言中如何做单元测试、基准测试、非功能测试。 go test介绍想要测试Go代码需要依赖go test命令,go test命令更像1个框架:在包目录内所有测试文件必须以_tes
转载
2024-02-15 14:27:35
26阅读
package main // o O func f1() { defer println("f1-start") f2() defer println("f1-end") } func f2() { defer println("f2-start") f3() defer println("f2-
转载
2017-12-25 17:31:00
84阅读
2评论
``` package main import ( "fmt" "time" ) func GetName() { //没事玩一下循环 for i := 0; i
原创
2022-08-10 17:39:39
40阅读
golang的单元测试1 go原生的单元测试go的标准库自带了单元测试的“框架”,通过go test命令和一些参数可以显示绝大部分的单元测试和函数的性能测试。再配合go的性能测试包pprof能够解决很大一部分的性能的单元测试的问题。testing包含了:testing.T,testing.B和其他的一些函数。go test命令可以自动执行窗体下的任何以以下开头的函数func TestXxx(*te
大家知道Select 是 Go 中的一个控制结构,每个 case 必须是一个通信操作,要么是发送要么是接收操作。 select是 随机执行一个可运行的 case。如果没有 case 可运行,程序可能会阻
转载
2024-04-12 09:59:35
64阅读
背景:上周技术三面被面试官问道golang中如何做测试和性能优化,一时间没有反应过来, 不过还好没挂。 特此记录一贴,系统地讲解 golang 中如何做测试,如何查找性能瓶颈。测试的分类说到测试,一般有两种:单例测试和压力测试。所谓单例测试就是拿着一些测试用例依次去测试一下,强调的是通过与不通过的问题。而压力测试则是挑一些特别复杂,极端的测试用例多次重复地进行测试,强调地是性能上的问题。gola
转载
2024-06-29 08:57:51
172阅读
前言日常开发中我们大概率会遇到超时控制的场景,比如一个批量耗时任务、网络请求等;一个良好的超时控制可以有效的避免一些问题
转载
2023-01-06 03:58:14
330阅读
背景 最近项目需要在实现一个视频加工的功能主要是用的ffmpeg命令行工具后面会出文章讲一讲,这里面有用到协程,部门老大review代码后把我屌 了?,问我怎么没对协程设置超时时间。我当时是用的WaitGroup包,去等待协程结果的,这样会有一个问题就是如果协程处理时间太长就会出现协程堆积的情况爆cup、爆内存,这个问题在我们目前的生产环境是存在的并且有点严重,因为一直都有开发任务所以一直没去处
转载
2024-03-18 15:17:36
176阅读
go test是go语言自带的测试工具,其中包含的是两类,单元测试和性能测试 通过go help test可以看到go test的使用说明: 格式形如: go test [-c] [-i] [build flags] [packages] [flags for test binary] 参数解读: -c : 编译go test成为可执行的二进制文件,但是不运行测试。 -i : 安装测试...
原创
2022-01-18 13:43:50
143阅读
最近做项目的时候一直很苦恼,go的单元测试是怎么回事,之前有看过go test xx_test.go命令进行单元测试,只知道有这么一说。最近项目中写了很多工具类,一直想测试一下性能和执行结果。发现完全不对。这是代码。发现多次执行go test utilfile_test.go完全没有任何输出。查很多原因和多帖子,都没说到重点。今天在群里问了下,才发现go单元测试对文件名和方法名,参数都
前言笔者在学习 golang 语言的时候,对其版本管理产生了诸多困惑,于是花费了几天时间搜集了很多资料,试图理解其背后的原理,现将搜集的资料整理成下文。建议大家在理解这一部分的时候去看看 Go 团队的 leader Russ Cox 的解释:Go & Versioning,其中文翻译网址为:note/go_and_versioning at master · vikyd/note · Gi
本文的目的是对mymysql进行单元测试和性能测试 准备工作: 1 go get github.com/ziutek/mymysql/thrsafe 2 在mysql建表和初始化数据(db是test) drop table if exists admin;CREATE TABLE `admin` ( `adminid` INT(10) UNSIGNED NOT NULL AUTO_I...
原创
2022-01-18 13:42:51
282阅读
单元测试单元测试(Unit Tests, UT) 是一个优秀项目不可或缺的一部分,特别是在一些频繁变动和多人合作开发的项目中尤为重要。你或多或少都会有因为自己的提交,导致应用挂掉或服务宕机的经历。比如我就曾经就因为打印了sql,而忘记关闭,导致所有的接口异常(允悲)。还有就是如果你优化了一些代码逻辑,优化了某个函数。那么我们怎么保证我们的正确性呢?那么几个测试用例或许就可以解决这个问题。测试文件的
转载
2024-10-27 07:03:56
21阅读
# Go语言与Redis的测试钩子实现
在现代开发中,使用Redis来管理状态或缓存是非常常见的。同时,为了保证代码的质量与可靠性,我们需要进行充分的测试。本文将介绍如何在Go语言(Golang)中实现一个Redis测试钩子。我们将分步指导你完成这个流程,确保你能够理解每一个步骤。
## 流程概览
下面的表格总结了实现“Golang Redis测试钩子”的步骤:
| 步骤 | 描
原创
2024-08-21 06:31:35
33阅读
当今可用的丰富编程语言为程序员提供了用于构建应用程序的大量工具。无论是像 Java 这样的老牌巨头,还是像 Go 这样的新兴公语言,应用程序都需要在部署后进行监视。在本文中,你将学习如何将Golang日志发送到ELK Stack和Logz.io。通常可以通过查看其日志来了解应用程序的运行状况。但是,日志数据具有随时间呈指数增长的趋势。当更多应用程序部署并分布在多台服务器上时,尤其如此。 Elast
# Redis 超时监听在 Go 中的实现
Redis 是一个开源的内存数据存储系统,广泛应用于缓存、消息队列等场景。在某些应用中,我们需要对 Redis 中的超时事件进行监听,以便执行一些特定的操作。本文将教你如何在 Golang 中实现 Redis 超时监听。
## 实现流程
首先,让我们来概述一下整个实现的流程。以下是实现 Redis 超时监听的步骤:
| 步骤 | 描述 |
| -
原创
2024-09-20 15:30:03
74阅读
Go语言没有提供直接的超时处理机制,所谓超时可以理解为当我们上网浏览一些网站时,如果一段时间之后不作操作,就需要重新登录。那么我们应该如何实现这一功能呢,这时就可以使用 select 来设置超时。虽然 select 机制不是专门为超时而设计的,却能很方便的解决超时问题,因为 select 的特点是只要其中有一个 case 已经完成,程序就会继续往下执行,而不会考虑其他 case 的情况。超时机制本
Go 实现超时退出 之前手写rpc框架的时候,吃多了网络超时处理的苦,今天偶然发现了实现超时退出的方法,MARK func AsyncCall() { ct
转载
2022-10-07 11:03:47
231阅读