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

2023-02-07 13:54:42 +08:00
 lxy141

背景

为了提升代码质量,之前给组内定了一个 UT 覆盖率的 OKR ,但 golang 写 UT 时,生成测试数据很麻烦。

一方面每个 model 实例都要手动创建,另一方面由于 golang 的语言特性每个字段也要 set 。进而,自己写 factory 函数也很麻烦,内容上都是重复的劳动。

于是自己写了一个类似于 python 中 factory-boy 的数据生成函数的代码生成工具。用来生成 factory 函数文件。

功能

分享目的

还有更多的设置可以看该项目 Github 上的 README ,现在这个工具已经通过 makefile 成为公司项目中的一个工具包。

项目地址:https://github.com/zaihui/ent-factory

欢迎大家使用,并提意见

1066 次点击
所在节点    程序员
5 条回复
kindjeff
2023-02-07 14:01:49 +08:00
wow ,正好需要这种东西(点开发现已 star 但没看过,难崩)。

ent 的 code generation 确实是个麻烦事。
adjusted
2023-02-07 14:02:35 +08:00
看着像用了 ent 源码改的,而不是作为 ent 的插件?
lxy141
2023-02-07 14:05:52 +08:00
@adjusted 没有用 ent 的源码,只是读了 ent 生成的 struct 。项目里的 ent 生成的内容,主要是用于测试的。
yrzs
2023-02-07 14:10:14 +08:00
可以
lxy141
2023-02-07 14:24:06 +08:00
@kindjeff 没错,每次造数据都想吐血。。所以才写了这个。Go 又没有 Python 那么灵活,只好用 code gen 来解决问题了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/913913

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX