
travix/gozzmockgozzmock是一个基于Golang开发的Mock服务器,灵感来源于mock-server.com。Travix公司使用该工具在测试环境中隔离第三方服务依赖,实现"透明"Mock功能——部分请求可被模拟,其他请求则转发至真实端点。
bashdocker pull travix/gozzmock
bashdocker run -it -p 8080:8080 travix/gozzmock
目标:将访问/user的请求转发至GitHub API([***]
bashcurl -d '{"forward":{"host":"api.github.com","scheme":"https"},"key":"forwardExpectation"}' -X POST http://<主机IP>:8080/gozzmock/add_expectation
bashcurl http://<主机IP>:8080/user
返回GitHub API的真实响应:
json{ "message": "Requires authentication", "documentation_url": "[***]" }
目标:对包含"mocked"路径的请求返回自定义文本响应
bashcurl -d '{"key":"responseExpectation","request":{"method":"GET","path":"mocked"},"response":{"body":"response from gozzmock","headers":[{"Content-Type":"text/plain; charset=utf-8"}],"httpcode":200},"priority":1}' -X POST http://<主机IP>:8080/gozzmock/add_expectation
以下请求均会返回自定义响应:
bashcurl http://<主机IP>:8080/user?arg=mocked curl http://<主机IP>:8080/user?mocked curl http://<主机IP>:8080/user/mocked
响应内容:
response from gozzmock
删除上述"responseExpectation"期望:
bashcurl -d '{"key":"responseExpectation"}' -X POST http://<主机IP>:8080/gozzmock/remove_expectation
bashdocker run -it -p 8080:8080 travix/gozzmock --expectations="[{\"key\": \"k1\"},{\"key\": \"k2\"}]" --loglevel=info
注意:response和forward只能配置一个


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务