ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

keploy 实操:5 分钟离线跑通第一条 API 测试用例

keploy 实操:5 分钟离线跑通第一条 API 测试用例 keploy 实操5 分钟离线跑通第一条 API 测试用例【免费下载链接】keployOpen-source platform for creating safe, isolated production sandboxes for API, integration, and E2E testing.项目地址: https://gitcode.com/GitHub_Trending/ke/keploykeploy 是一个开源的测试录制回放工具把应用包起来运行它会自动把 API 调用和数据库查询捕获成测试用例与 mock省掉你手写用例和搭依赖环境的数小时。读完本文你会在自己机器上完成安装、录下第一条用例并离线回放一遍。它替你解决了什么不想改一行代码给应用加测试埋点意味着动业务代码、引 SDK还要小心别影响生产。keploy 用 eBPF 在内核网络层直接抓流量应用照常跑请求和响应就被自动记成测试用例零侵入。捕获逻辑在 pkg/agent/hooks/linux/hooks.go。本地依赖环境搭不起来集成测试要先起数据库、消息队列、外部 API任何一环起不来测试就跑不动。keploy 把应用和这些依赖的交互一并录下来回放时用录好的数据顶替真实依赖相当于给依赖打了一个快照没有真数据库也能确定性还原整个环境。数据库交互的处理可以看看 pkg/proxy/integrations/mysql/ 这类模块。用例覆盖总差一口气手工写用例往往只覆盖主流程。keploy 回放时会拿录制的响应和当前实际响应对比指出哪些字段变了帮你把断言补到差的那块对比逻辑在 pkg/matcher/。从零到跑通1. 装好它curl --silent -O -L https://keploy.io/install.sh source install.sh脚本会把 keploy 可执行文件装到系统里并配好环境变量装完任意目录都能直接敲keploy。注意Linux 上它需要 eBPF 权限可能会提示输入 sudo 密码属正常现象。2. 录下第一条用例keploy record -c python main.py-c后面跟的是你启动应用的命令Go 项目换成go run main.go即可。录制期间 keploy 捕获应用的全部网络交互结束后在项目里生成keploy/目录里面是用例和 mock 的 YAML 文件。录制入口逻辑见 pkg/service/record/record.go。3. 离线回放一遍keploy test -c python main.py --delay 10--delay是应用启动后等待多少秒再放测试默认 5 秒应用启动慢就调大。此时不用起任何外部数据库依赖全部由录制数据 mock 顶替终端会打印每条用例的通过情况。回放执行入口见 pkg/service/replay/replay.go。往深里走用例数据怎么查看和管理录制的用例与 mock 都以 YAML 形式存在项目下的keploy/目录里一条用例对应一次请求-响应对。命名规则和读写逻辑在 pkg/platform/yaml/testdb/db.go你打开 YAML 就能直接读断言内容也可以在编辑器里维护这些文件下一次回放自动生效。接进 CI 自动跑把keploy test放进 GitHub Actions 或 Jenkins每次提交和 PR 都会自动离线回放一次改动破坏现有行为立刻能发现。仓库里的 keploy.sh 安装脚本和 goreleaser.yaml 发布配置可以直接作为 CI 步骤的参考。下一步环境变量的完整清单在 docs/env-vars.mdmock 生命周期、匹配器契约等机制说明在 docs/ 下。建议先挑自己项目里一个小的 API 跑一遍 record test再逐步加入数据库依赖卡住时先查 DEBUG.md也欢迎通过 docs/contributing/ 参与社区贡献。【免费下载链接】keployOpen-source platform for creating safe, isolated production sandboxes for API, integration, and E2E testing.项目地址: https://gitcode.com/GitHub_Trending/ke/keploy创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表