做测试的同学是不是经常听到开发这么怼你:
你提的那个bug,我本机是好的呀?哪有问题啊?
今天发现也犯了类似的错误呢,来详细说说。
昨天我们一个自动化测试的项目,同事优化了代码,我问了一句:你引入了新库嘛?他说没有,就是自己写了一点优化。
后来他本地跑通过了,就把代码传到git上了,我也没仔细过问。
今天一早,发现通过Jenkins运行的自动化测试项目, 满眼的红色FAIL, case几乎全军覆灭……
咋回事啊,第一直觉肯定和昨天的修改有关系呀,应该不会是case真的全都fail了。然后跟同事说了一下,让他查一下。他说,我本地没问题啊?
于是我去服务器看了下log,果然没看几行就找到报错了:
Importing test library 'XXXX' failed: ModuleNotFoundError: No module named 'xxx'
然后我再问他, 他才想起来昨天自己优化的代码中, 引入了一个新库, 而这个库他只在本地装过……
我们采用的解决方案,二选一即可:
- 登录服务器,去安装这个新库
- 直接在jenkins job中加上安装这个库的代码,跑一遍case, 之后再去掉这个代码即可
之后的思考:
可不可以想个办法自动判断这类环境问题呢,我觉得应该是有的。只是自己没有关注过这方面的问题。
包括最近用的比较多的容器技术,也是和环境有关的。
如果有小伙伴比较熟悉这方面的事情,也可以给我评论留言呀。