如何在Ubuntu上使用Golang进行单元测试
在Ubuntu上通过apt安装Go语言前先更新软件源,配置GOPATH和GOROOT环境变量并添加到~/.bashrc中。在GOPATH/src下创建项目,编写业务代码和以_test.go结尾的测试文件,测试函数以Test开头并接收*testing.T参数。运行gotest执行单元测试,通过输出PASS,失败显示详细错误信息。
在Ubuntu上进行Golang单元测试,其实是一个很标准化的流程。先别急着写代码,准备工作做好,后面会顺畅很多。下面按步骤来,每一步都讲清楚。
1. 安装Golang
如果你的Ubuntu上还没有Go环境,用包管理器安装是最省事的。打开终端,执行以下命令:
sudo apt update
sudo apt install golang-go
这样就能把基本的Go工具链装好。当然,你也可以从官网下载二进制包手动配置,但对于常规开发来说,apt的方式已经够用。
2. 设置GOPATH和GOROOT
安装完成后,环境变量得配好。GOROOT一般指向Go的安装目录(apt安装默认在/usr/lib/go),GOPATH则是你的工作空间路径,通常设为$HOME/go。把这些加到~/.bashrc或~/.profile里:
export GOROOT=/usr/lib/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
保存后执行source ~/.bashrc(或source ~/.profile)让配置生效。这一步做对了,后面才能直接用go test等命令。
3. 创建一个Go项目
所有代码都放在GOPATH下的src目录里。比如创建一个名为myproject的项目:
mkdir -p $GOPATH/src/myproject
cd $GOPATH/src/myproject
touch main.go
项目结构就这么简单——一个文件夹加一个源码文件。后续的测试文件也会放在同一个目录下。
4. 编写代码和测试
先在main.go里写一段业务逻辑。举个例子,一个简单的加法函数:
package main
import "fmt"
func Add(a, b int) int {
return a + b
}
func main() {
fmt.Println("Hello, World!")
}
然后创建测试文件main_test.go,注意命名必须以_test.go结尾,Go的测试框架才能识别。里面写对应的单元测试:
package main
import "testing"
func TestAdd(t *testing.T) {
result := Add(1, 2)
if result != 3 {
t.Errorf("Add(1, 2) = %d; want 3", result)
}
}
这里测试函数的名字必须以Test开头,参数类型是*testing.T。逻辑很简单:调用目标函数,比对期望结果,不一致就报错。
5. 运行测试
项目目录下直接执行:
go test
Go会自动查找当前包下所有*_test.go文件并执行。如果测试通过,输出类似:
PASS
ok myproject 0.001s
如果失败,会打印详细的错误信息,方便定位问题。整个过程不复杂,关键是养成“先写测试再写代码”的习惯。后续扩展功能时,只需继续在_test.go文件中添加新的测试函数即可。
WPS Office是一款面向macOS用户的综合办公套件,将文字处理、电子表格、演示文稿、PDF工具、模板与云协作整合在同一应用中。它兼容常见Microsoft Office格式,支持Intel及Apple芯片Mac,基础功能可免费使用,
Shapr3D是一款面向工业设计、机械工程、建筑概念和三维打印工作流的CAD软件。Mac版采用Parasolid建模内核,支持草图约束、实体建模、工程图、可视化渲染及常见CAD格式交换,并可通过账户在多台设备之间同步项目。
REAPER是Cockos开发的数字音频工作站,提供多轨音频与MIDI录制、剪辑、处理、混音和母带制作工具。Mac版兼容Intel与Apple芯片,支持AU、VST、VST3、CLAP等插件格式,并提供高度可定制的工作流程。
Adobe Photoshop 是面向摄影师、设计师和内容创作者的专业图像处理工具,可在 Windows 上完成照片修饰、选区抠图、图层合成、文字排版、绘画及生成式编辑。软件采用订阅授权,由 Creative Cloud 管理安装、更新与许
Adobe InDesign 是面向印刷与数字出版的专业页面排版工具,可制作书籍、杂志、宣传册、海报、交互式 PDF 和电子书。它提供精细的文字样式、多页面管理、印前检查及多格式输出能力,并能与 Photoshop、Illustrator
Adobe Illustrator 是用于绘制矢量图形、插画、图标、徽标和版式的专业设计工具。它以路径和锚点为核心,作品放大后仍能保持清晰,并提供画板、文字、渐变、图像描摹及精确变换等功能,适合品牌视觉、印刷物料、数字界面和商业插画创作。













