公司要推行单元测试,但是执行太过于困难,大部分同事不支持怎么办?
公司想定了新的开发规则(为了收归测试人手,减少测试人力的投入,降本增效),推行单元测试(根据不同项目等级,覆盖率到 50-70%)
但是目前我们使用了 go 全局变量的框架,没有使用依赖注入,没有使用接口和抽象,导致非常难写单测
做了一下同事间的调研,大部分同事都不愿意写单测,理由大概是
- 没有时间,开发任务重
- 有时间连数据库自测都测完了
领导让我看一下这个事情怎么做,我尝试了一下,得出了三种方案。
-
使用 sqlmock/连接内灰数据库来适配当前框架,可以做到没有外部调用系统的服务 mock 测试,但是遇到要调用外部服务的情况,无法 mock ,只能临时注释掉(因为没有使用依赖注入)。但是连接数据库不能算 mock ,用 sqlmock 要写的测试代码又太多,反对者比较多
-
改造当前框架,拆分抽象层和实现层,使用依赖注入。这样单测想怎么写就怎么写就好了,但是增加大家平时要写更多代码,也有不少反对者
-
听从同事建议,反馈领导,不推行单测,自行自测。(全靠自觉性,感觉领导层都不会同意
对此大家有什么比较好的建议吗?
另外最近在学英语,有什么英语读物推荐也可以分享一下(摸鱼/晨间日常)