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
相关文章
|
4月前
|
安全 Linux 网络安全
Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块(一)
Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块(一)
96 2
|
4月前
|
Python Windows 网络安全
Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块(二)
Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块(二)
112 2
|
1月前
|
数据采集 算法 测试技术
【硬件测试】基于FPGA的16psk调制解调系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文介绍了基于FPGA的16PSK调制解调系统的硬件测试版本。系统在原有仿真基础上增加了ILA在线数据采集和VIO在线SNR设置模块,支持不同信噪比下的性能测试。16PSK通过改变载波相位传输4比特信息,广泛应用于高速数据传输。硬件测试操作详见配套视频。开发板使用及移植方法也一并提供。
37 6
|
2月前
|
数据采集 算法 测试技术
【硬件测试】基于FPGA的QPSK调制解调系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文介绍了基于FPGA的QPSK调制解调系统的硬件实现与仿真效果。系统包含测试平台(testbench)、高斯信道模块、误码率统计模块,支持不同SNR设置,并增加了ILA在线数据采集和VIO在线SNR设置功能。通过硬件测试验证了系统在不同信噪比下的性能,提供了详细的模块原理及Verilog代码示例。开发板使用说明和移植方法也一并给出,确保用户能顺利在不同平台上复现该系统。
82 15
|
1月前
|
数据采集 算法 数据安全/隐私保护
【硬件测试】基于FPGA的8PSK调制解调系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文基于FPGA实现8PSK调制解调系统,包含高斯信道、误码率统计、ILA数据采集和VIO在线SNR设置模块。通过硬件测试和Matlab仿真,展示了不同SNR下的星座图。8PSK调制通过改变载波相位传递信息,具有高频谱效率和抗干扰能力。开发板使用及程序移植方法详见配套视频和文档。
44 7
|
2月前
|
数据采集 算法 数据安全/隐私保护
【硬件测试】基于FPGA的2FSK调制解调系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文介绍了基于FPGA的2FSK调制解调系统,包含高斯信道、误码率统计模块及testbench。系统增加了ILA在线数据采集和VIO在线SNR设置模块,支持不同SNR下的硬件测试,并提供操作视频指导。理论部分涵盖频移键控(FSK)原理,包括相位连续与不连续FSK信号的特点及功率谱密度特性。Verilog代码实现了FSK调制解调的核心功能,支持在不同开发板上移植。硬件测试结果展示了不同SNR下的性能表现。
80 6
|
4月前
|
安全 Java 数据库
shiro学习一:了解shiro,学习执行shiro的流程。使用springboot的测试模块学习shiro单应用(demo 6个)
这篇文章是关于Apache Shiro权限管理框架的详细学习指南,涵盖了Shiro的基本概念、认证与授权流程,并通过Spring Boot测试模块演示了Shiro在单应用环境下的使用,包括与IniRealm、JdbcRealm的集成以及自定义Realm的实现。
79 3
shiro学习一:了解shiro,学习执行shiro的流程。使用springboot的测试模块学习shiro单应用(demo 6个)
|
4月前
|
计算机视觉
目标检测笔记(二):测试YOLOv5各模块的推理速度
这篇文章是关于如何测试YOLOv5中不同模块(如SPP和SPPF)的推理速度,并通过代码示例展示了如何进行性能分析。
199 3
|
5月前
|
Prometheus Cloud Native Go
Golang语言之Prometheus的日志模块使用案例
这篇文章是关于如何在Golang语言项目中使用Prometheus的日志模块的案例,包括源代码编写、编译和测试步骤。
101 3
Golang语言之Prometheus的日志模块使用案例
|
4月前
|
测试技术 PHP 开发工具
php性能监测模块XHProf安装与测试
【10月更文挑战第13天】php性能监测模块XHProf安装与测试
51 0