我已经开始使用gomock为单元测试创建模拟对象。 Gomock要求我使用某个参数运行mockgen
命令,以便为mock生成代码。每次被模拟的接口发生更改时,都需要再次执行此操作。因此,我认为让go build
使用适当的参数运行mockgen
可能是有意义的。
在构建程序包之前,有没有办法让go build
运行脚本或shell命令?
如果没有,你如何制作你的模拟并使它们保持最新状态?
答案 0 :(得分:1)
我认为go build
中没有任何钩子会使这成为可能。
一种解决方案是使用make。您的Makefile
可能类似于:
.PHONY: build test
build:
go build
test:
mockgen ...
go test