网站首页 > 技术文章 正文
gotests 是编写Go测试的一个Golang命令行工具,可以根据目标源文件的函数和方法签名生成表驱动的测试。将自动导入测试文件中的任何新依赖项。
源码
https://github.com/cweill/gotests
安装
go install github.com/cweill/gotests/...
作为开发工具插件使用
以下展示了使用官方Sublime Text 3插件进行的测试。Emacs、Vim、Atom Editor、Visual Studio Code和IntelliJ Goland也有插件。
gotests命令
通过命令行,gotests可以为特定的源文件或整个目录生成Go测试。默认情况下,它将输出打印到stdout。
$ gotests [options] PATH ...
参数
-all generate tests for all functions and methods
为所有函数和方法生成测试
-excl regexp. generate tests for functions and methods that don't
match. Takes precedence over -only, -exported, and -all
为没有匹配到的函数和方法生成测试,和only相反,优先于 -only, -exported, and -all
-exported generate tests for exported functions and methods. Takes
precedence over -only and -all
为导出函数和方法生成测试,优先于-only and -all
-i print test inputs in error messages
在错误消息中打印测试输入
-only regexp. generate tests for functions and methods that match only.
Takes precedence over -all
为匹配到的函数和方法生成测试,优先于-all
-nosubtests disable subtest generation when >= Go 1.7
禁用子测试生成。仅适用于Go 1.7+
-parallel enable parallel subtest generation when >= Go 1.7.
启动自测试生成,适用于Go 1.7+
-w write output to (test) files instead of stdout
将输出(测试)写入文件而不是stdout
-template_dir Path to a directory containing custom test code templates. Takes
precedence over -template. This can also be set via environment
variable GOTESTS_TEMPLATE_DIR
包含自定义测试代码模板的目录的路径。优先于-template。这也可以通过环境进行设置
变量GOTESTS_TEMPLATE_DIR
-template Specify custom test code templates, e.g. testify. This can also
be set via environment variable GOTESTS_TEMPLATE
指定自定义测试代码模板,例如verify。这也可以
通过环境变量GOTESTS_TEMPLATE设置
-template_params_file read external parameters to template by json with file
-template_params read external parameters to template by json with stdin
使用stdin通过json将外部参数读取到模板
命令
1、以文件名lib.go为例 ,生成lib.go文件中所有函数的测试
gotests -all lib/lib.go
进入lib目录,执行
gotests -all .
打印目录下所有函数和方法的测试
注意:生成内容是直接打印出来的
如果想将输出内容打印到指定文件,可执行
gotests -all -w lib/lib.go lib/lib_test.go
2、
根据正则匹配生成对应函数和方法的测试
gotests -only "函数或方法名" lib/lib.go
3、 模版
gotests工具准备了一些模版放在,https://github.com/cweill/gotests/tree/develop/templates,这里有比较重要的模版testify/function.tmpl。
通过模板生成测试文件命令:
gotests -i -template_dir 模板目录 -all -w 输出目录
4、goland下生成测试文件 windows环境下,goland在项目中, 打开一个文件后 ,alt+insert 弹出
根据需要选择即可生成。
猜你喜欢
- 2024-11-02 武汉课工场大数据培训:Java正则表达式入坑指南
- 2024-11-02 Go语言进阶之路:并发爬虫,爬取空姐网所有相册图片
- 2024-11-02 golang常用库:gorilla/mux-http路由库使用
- 2024-11-02 golang 使用pprof和go-torch做性能分析
- 2024-11-02 Golang Gin 入门 (一)(golang官方教程)
- 2024-11-02 日志文件转运工具Filebeat笔记(日志转载)
- 2024-11-02 Linux 命令行下搜索工具大盘点,效率提高不止一倍
- 2024-11-02 SlimTrie:战胜Btree单机百亿文件的极致索引-实现篇
- 2024-11-02 Go的安全编程和防御性编程(输入验证和过滤)
- 2024-11-02 清华学神尹成带你学习golang2021(56)(Go语言测试命令)
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)