简介

gotests是一个Golang命令行工具,它可以使编写Go的测试代码变得容易。它能基于目标源文件的函数和方法生成数据驱动测试用例,并且在此过程会自动导入任何依赖。

下面是gotests在使用Sublime Text 3插件时的情况。此外他还支持Emacs、Emacs、Vim、Atom Editor、Visual Studio Code和IntelliJ Goland。

使用方法

安装

仅至此 GO 1.6 以上版本。可以使用go get 进行安装或获取更新:

go get -u github.com/cweill/gotests/...

使用

在命令行中,gotests可以为特定的源文件或整个目录生成Go测试。默认情况下,它将输出打印到标准输出中。

$ gotests [options] PATH ...

命令行可选参数如下:

  -all           为所有函数和方法生成go测试用例

  -excl          支持正则,为未匹配的函数和方法生成测试用例。优先级高于-only、-export和-all

  -exported      为导出的函数和方法生成GO测试。优先级高于 -all 和-only

  -i             在错误消息中打印测试输入

  -only          支持正则,只对匹配的函数生效,优先级高于 -all

  -w             将输出信息写入文件而非直接输出

  -nosubtests    关闭自动生成功能,仅对Go 1.7+有效

  -template_dir  可选参数,指定测试代码保存目录

【Golang】 可以自动生成测试用例的库--gotests的更多相关文章

  1. python自动生成Docx(docxtpl库)

    python这个库很有用,可以格式化生成报告等. 其他内容请点此处,下面只写docxtpl的功能代码. # coding: utf-8 import web # 我们用的webpy框架 import ...

  2. python自动生成excel(xlwt库)

    下面代码使用web.py框架,其他框架都大同小异. # coding: utf- import web import json import datetime import xlwt import S ...

  3. 自动的自动化:EvoSuite 自动生成JUnit的测试用例

    EvoSuite简介 EvoSuite是由Sheffield等大学联合开发的一种开源工具,用于自动生成测试用例集,生成的测试用例均符合Junit的标准,可直接在Junit中运行.得到了Google和Y ...

  4. swagger 自动生成接口测试用例

    ---整体更新一波--- 1.实际工作中,因为要动手输入的地方比较多,自动生成的异常接口用例感觉用处不大,就先去掉了,只保留了正常的: 2.接口有改动的,如果开发人员没有及时告知或没有详细告知,会增加 ...

  5. Groovy元编程应用之自动生成订单搜索接口测试用例集

    背景 在 "Groovy元编程简明教程" 一文中,简明地介绍了 Groovy 元编程的特性. 那么,元编程可以应用哪些场合呢?元编程通常可以用来自动生成一些相似的模板代码. 在 & ...

  6. 使用Allure+testNG自动生成漂亮强大的测试用例报告

    最近领导让我找一个可以每次打包自动生成测试用例的东西,jenkins或者idea都可以, 最后找到了这个allure,也踩了很多坑,废话不多说!,总结一下: 1 使用原生allure 添加依赖: &l ...

  7. 使用autoconf与automake自动生成MakeFile文件

    automake主要通过编辑Makefile.am来控制它的行为,下面就常用的三个Makefile.am配置做出说明. 1.1. autotools的工作原理 autotools最终是为了生成Make ...

  8. 用 Python 为接口测试自动生成用例

    用Python为接口自动生成测试用例 基于属性的测试会产生大量的.随机的参数,特别适合为单元测试和接口测试生成测试用例 尽管早在2006年haskell语言就有了QuickCheck来进行" ...

  9. Golang xorm工具,根据数据库自动生成 go 代码

    使用 golang 操作数据库的同学都会遇到一个问题 —— 根据数据表结构创建对应的 struct 模型.因为 golang 的使用首字母控制可见范围,我们经常要设计 struct 字段名和数据库字段 ...

随机推荐

  1. SQL工具类

    package com.ebizwindow.crm.utils; import java.util.List; import com.ebizwindow.crm.constants.SqlCons ...

  2. js数组之可变函数

    在js的数组中有两个方法为数组添加元素:1.push();2.unshift(),push函数是将元素添加到数组的末尾,现在不用说大家估计也能猜出来,unshift这个函数就是把元素添加到数组的开头的 ...

  3. mvc actionresult返回各种文件

    public ActionResult ReviewFile(string folderName, string fileBasename, string extendName) { //以后根据后缀 ...

  4. Linux查看操作系统版本

    Linux版本太多,不同版本的命令又有所区别,所以在解决Linux的一些问题时候无从下手 或者 走一些弯路,这里提供解决此类问题的思路: 查看linux版本号 有了版本号,不同版本 统一问题解决方案不 ...

  5. Python 迭代器切片

    函数itertools.islice() 正好适用于在迭代器和生成器上做切片操作 >>> def count(n): ... while True: ... yield n ... ...

  6. 深入理解Java虚拟机 #01# 自己编译JDK

    x 首先用书上的脚本尝试,失败. 之后根据源文件的 README 编译,抛出: root@linux:/opt/openjdk# sh ./get_source.sh ERROR: Need init ...

  7. P4336 [SHOI2016]黑暗前的幻想乡

    P4336 [SHOI2016]黑暗前的幻想乡 矩阵树定理(高斯消元+乘法逆元)+容斥 ans=总方案数 -(公司1未参加方案数 ∪ 公司2未参加方案数 ∪ 公司3未参加方案数 ∪ ...... ∪ ...

  8. maven nexus deploy方式以及相关注意事项(增加eclipse执行maven deploy)

    以前公司都是配管负责管理jar的,现在没有专职配管了,得自己部署到deploy上供使用.总的来说,jar部署到nexus上有两种方式: 1.直接登录nexus控制台进行上传,如下: 但是,某些仓库可能 ...

  9. CSS3实现小黄人动画

    转载请注明出处,谢谢! 每次看到CSS3动画就心痒痒想试一下,记得一个多月前看了白树哥哥的一篇博客,突然开窍,于是拿他提供的demo试了一下,感觉很棒!下图为demo提供的动画帧设计稿. 自己也想说搞 ...

  10. fatal One or more refs for names blocks change upload

    前言 今天在提代码时,发现push不到gerrit仓库了,十分的奇怪,和同事沟通后发现,同事可以直接git push origin master而且也可以合并,都是没有问题的,但是就是在gerrit上 ...