Codex可自动生成并运行Go单元测试:进入项目根目录,确认codex CLI已安装且登录ChatGPT Plus账号,执行codextest generate file.go生成_test.go并自动运行go test;批量测试需先扫描源文件再循环生成。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要在Go项目中用Codex自动生成并运行单元测试,而不是手动写完再一条条敲go test命令——Codex能直接读取函数签名、类型提示和已有逻辑,生成带边界值、错误路径和事务回滚的完整_test.go文件,并立即执行验证。
确认Codex CLI已就位且能访问Go源码
打开终端,进入你的Go项目根目录,确保当前路径下能看到go.mod文件和待测的*.go源文件。Codex必须在项目上下文里运行才能解析包结构和依赖关系,【离开项目根目录会导致无法识别import路径和函数作用域】。
执行codex --version,输出版本号(如v1.8.3)即表示CLI已安装并可用。若报command not found,请先通过npm install -g @openai/codex安装。
运行codex login,选择“Sign in with ChatGPT”,使用ChatGPT Plus或企业账号登录——免费账号默认不开放Go测试生成能力。
为单个Go文件生成并运行测试
方法一:命令行一键触发
执行codextest generate path/to/your/file.go,例如codextest generate internal/calculator/add.go。Codex会自动创建同名_test.go文件(如add_test.go),写入TestAdd等函数,并插入到原文件所在目录。
生成完成后,Codex默认调用go test -v ./internal/calculator来运行新测试——这一步会实时打印PASS/FAIL及错误堆栈,你不需要额外输入命令。
方法二:指定输出位置与覆盖策略
通过 Codex CLI 生成图片,支持尺寸控制和批量模式。依赖:codex (npm)。代理默认启用。用 generate.sh 生成单张,batch_generate.sh 批量生成游戏 UI 素材,gen_size.sh 指定尺寸。所有输出保存至 ~/.codex/generated_images/。
加--output-dir标志可把测试文件写入指定目录,例如codextest generate internal/handler/user.go --output-dir tests/;但注意:Go要求_test.go必须和被测代码同包同目录,否则go test无法识别,【写到其他目录会导致测试被忽略】。
批量生成全项目测试并检查覆盖率
第一步:扫描所有业务源文件
运行find . -name "*.go" -not -name "*_test.go" -not -path "./vendor/*" -not -path "./third_party/*" > sources.txt,得到一份干净的待测文件列表。
第二步:循环生成测试
用while read f; do codextest generate "$f"; done
第三步:统一运行并生成覆盖率报告
执行go test -coverprofile=coverage.out ./... → go tool cover -html=coverage.out -o coverage.html,浏览器打开coverage.html即可查看每行代码是否被新生成的测试覆盖。
这一步操作起来很简单,直接把文件拖进去就行。但要注意:如果某个_test.go里有语法错误(比如忘记import "testing"),go test会直接报build failed,此时需手动打开该文件修复后再重试。

















