分享一个自己写的数据生成函数的 Go 代码生成工具---ent-factory,欢迎大家使用并提意见

查看 50|回复 0
作者:lxy141   
背景
为了提升代码质量,之前给组内定了一个 UT 覆盖率的 OKR ,但 golang 写 UT 时,生成测试数据很麻烦。
一方面每个 model 实例都要手动创建,另一方面由于 golang 的语言特性每个字段也要 set 。进而,自己写 factory 函数也很麻烦,内容上都是重复的劳动。
于是自己写了一个类似于 python 中 factory-boy 的数据生成函数的代码生成工具。用来生成 factory 函数文件。
功能
  • 读取 Facebook 的 ORM 库 ent 生成的表结构目录,读取所有的表结构(也可选择读单独表)

  • 基于这结构,生成 model factory 文件
  • 内部有一个使用 faker 来 mock 数据和创建数据实例的函数
  • 可以读取默认类型、引入类型( time ,自定义 json 结构)和指针类型,生成对应的代码
  • 每个字段有一个 function optional 的函数,方便使用者自定义任意想要自定义的字段值。


    分享目的
  • 觉得会有人也需要这么个工具,可以节约很多时间。
  • 功能上自己暂时没有别的想法了,希望有人在使用中发现新的需求。
  • 也许这个库有什么问题,但我自己没有使用场景来发现,可以靠大家发现。

    还有更多的设置可以看该项目 Github 上的 README ,现在这个工具已经通过 makefile 成为公司项目中的一个工具包。
    项目地址:https://github.com/zaihui/ent-factory
    欢迎大家使用,并提意见
  • 您需要登录后才可以回帖 登录 | 立即注册

    返回顶部