golang 测试模块使用

简介: golang 测试模块使用

go 测试模块学习

go 测试的模块 testing

简单的功能测试,侧重于功能正确

被测试代码 位于项目 go/src/项目包/test
package goCode
func Add(a, b int) int {
  return a + b
}
测试代码 位于项目 go/src/项目包/test
package goCode_test
import (
  "testing"
  goCode "tsLearn/goCode"
)
func TestAdd(t *testing.T) {
  var a, b, c = 1, 2, 3
  real := goCode.Add(a, b)
  if real != c {
    t.Errorf("error Add")
  }
}
使用普通功能测试
cd 项目目录 
go test  即可
输出
PASS
ok      tsLearn/test    0.002s

侧重于性能测试,测试代码运行速度

被测试 性能 代码,侧重于性能测试
// 不提前分配 ,动态分配函数性能
func MakeSliceWithoutAlloc() []int {
  var newSlice []int
  for i := 0; i < 100000; i++ {
    newSlice = append(newSlice, i)
  }
  return newSlice
}

// 提前分配确定数量的 函数

func MakeSliceWithPreAlloc() []int {
  var newSlice []int
  newSlice = make([]int, 0, 100000)
  for i := 0; i < 100000; i++ {
    newSlice = append(newSlice, i)
  }
  return newSlice
}
测试性能 代码
func BenchmarkMakeSliceWithoutAlloc(b *testing.B) {
  for i := 0; i < b.N; i++ {
    goCode.MakeSliceWithoutAlloc()
  }
}
func BenchmarkMakeSliceWithPreAlloc(b *testing.B) {
  for i := 0; i < b.N; i++ {
    goCode.MakeSliceWithPreAlloc()
  }
}
使用测试方式
go test -bench=.
goos: linux
goarch: amd64
pkg: tsLearn/test
BenchmarkMakeSliceWithoutAlloc-8            1400            734023 ns/op
BenchmarkMakeSliceWithPreAlloc-8            7796            133683 ns/op
PASS
ok      tsLearn/test    2.182s
相关文章
|
2月前
|
安全 Linux 网络安全
Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块(一)
Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块(一)
71 2
|
2月前
|
Python Windows 网络安全
Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块(二)
Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块(二)
74 2
|
3天前
|
数据采集 算法 数据安全/隐私保护
【硬件测试】基于FPGA的2FSK调制解调系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文介绍了基于FPGA的2FSK调制解调系统,包含高斯信道、误码率统计模块及testbench。系统增加了ILA在线数据采集和VIO在线SNR设置模块,支持不同SNR下的硬件测试,并提供操作视频指导。理论部分涵盖频移键控(FSK)原理,包括相位连续与不连续FSK信号的特点及功率谱密度特性。Verilog代码实现了FSK调制解调的核心功能,支持在不同开发板上移植。硬件测试结果展示了不同SNR下的性能表现。
22 6
|
2月前
|
安全 Java 数据库
shiro学习一:了解shiro,学习执行shiro的流程。使用springboot的测试模块学习shiro单应用(demo 6个)
这篇文章是关于Apache Shiro权限管理框架的详细学习指南,涵盖了Shiro的基本概念、认证与授权流程,并通过Spring Boot测试模块演示了Shiro在单应用环境下的使用,包括与IniRealm、JdbcRealm的集成以及自定义Realm的实现。
49 3
shiro学习一:了解shiro,学习执行shiro的流程。使用springboot的测试模块学习shiro单应用(demo 6个)
|
2月前
|
计算机视觉
目标检测笔记(二):测试YOLOv5各模块的推理速度
这篇文章是关于如何测试YOLOv5中不同模块(如SPP和SPPF)的推理速度,并通过代码示例展示了如何进行性能分析。
122 3
|
3月前
|
Prometheus Cloud Native Go
Golang语言之Prometheus的日志模块使用案例
这篇文章是关于如何在Golang语言项目中使用Prometheus的日志模块的案例,包括源代码编写、编译和测试步骤。
77 3
Golang语言之Prometheus的日志模块使用案例
|
2月前
|
测试技术 PHP 开发工具
php性能监测模块XHProf安装与测试
【10月更文挑战第13天】php性能监测模块XHProf安装与测试
33 0
|
2月前
|
安全 Linux 网络安全
Kali渗透测试:使用browser_autopwn2模块进行渗透攻击
Kali渗透测试:使用browser_autopwn2模块进行渗透攻击
74 0
|
2月前
|
安全 网络安全 Windows
Kali渗透测试:Metasploit 6.0 中的Evasion模块 原创
Kali渗透测试:Metasploit 6.0 中的Evasion模块 原创
55 0
|
4月前
|
NoSQL Linux Android开发
内核实验(三):编写简单Linux内核模块,使用Qemu加载ko做测试
本文介绍了如何在QEMU中挂载虚拟分区、创建和编译简单的Linux内核模块,并在QEMU虚拟机中加载和测试这些内核模块,包括创建虚拟分区、编写内核模块代码、编译、部署以及在QEMU中的加载和测试过程。
239 0
内核实验(三):编写简单Linux内核模块,使用Qemu加载ko做测试