twitter/diffy的使用
twitter/diify是twitter公司出的一款测试工具,号称是一款能够帮助软件开发人员寻找bug,测试bug,并且无须编写新代码,可直接用来比较代码运行以后的结果的工具。
为了赶时髦,我也安装试用了一下。可能能使用的情况为,用一台测试环境做代理,把http请求数据同时发给3台测试环境,比对response。但是此工具的限制还是很多的。
比如默认只支持get,其他的Post,put,delete请求需要开启-allowHttpSideEffects=true。再比如,不同测试环境,用的token也不一致,这个不好处理。
但是还是先试用再说吧
通过docker运行
其中192.168.95.243:8086是测试环境后台。192.168.95.246:8086是模拟线上环境后台
docker run -ti \
-p 8880:8880 -p 8881:8881 -p 8888:8888 \
diffy/diffy \
-candidate=192.168.95.243:8086 \
-master.primary=192.168.95.246:8086 \
-master.secondary=192.168.95.241:8086 \
-service.protocol=http \
-serviceName="Test-Service" \
-proxy.port=:8880 \
-admin.port=:8881 \
-http.port=:8888 \
-allowHttpSideEffects=true \
-rootUrl=localhost:8888
web浏览器访问http://192.168.0.244:8888/ 即可打开比较结果页面
测试
通过对192.168.0.244:8888/进行http请求,会把请求转发给不同的服务器,进行比对之后,会再输出结果
curl http://localhost:8880/api/v1/auth/login -H "Content-Type:application/json" -X POST -d '{"username":"lizhenwei", "password":"123456"}'