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/keploy接口联调刚结束下一轮测试就要等 mock 补完。Keploy 通过录制真实 API 调用与数据库查询、再重放为测试把这个过程自动化eBPF 在网络层捕获流量不改动业务代码几分钟内得到一组可直接运行的 API 测试用例。测试维护难在哪接口加了一个字段整条 CI 全红得逐个翻断言。mock 是另一头手工维护的桩数据慢慢脱离真实响应测试通过了生产却报错。这两类返工叠加测试集越滚越重。Keploy 的录制与重放record 与 replay 是怎么工作的Keploy 的思路是把造测试换成录测试。keploy record启动你的应用Keploy 的 agent 基于 eBPF 在内核网络层拦截进出流量并把录到的 API 调用、数据库查询、流事件整理成测试用例和数据 mock——相当于在网络边界上抓包再回放。两个直接后果零代码侵入不用改业务代码也不用引 SDK应用正常启动即可被录制语言无关拦截发生在网络层而非语言运行时Go、Java、Python、Node.js 等栈都适用协议解析实现见 pkg/proxy/integrations/。Keploy v1.0 同时提供 AI 驱动的单元测试生成UTG用 LLM 分析源码并产出单元测试代码。数据边界很明确只有源代码和单元测试代码会发送到你自选的 LLM 后端且支持私有部署代码不出内网。5 分钟跑通第一组测试安装、record、test安装curl --silent --location https://github.com/keploy/keploy/releases/latest/download/keploy_linux_amd64.tar.gz | tar xz -C /tmp sudo mkdir -p /usr/local/bin sudo mv /tmp/keploy /usr/local/bin keploy录制。在项目根目录执行替换成你的启动命令sudo -E env PATH$PATH keploy record -c go run main.go重放。--delay给应用留出启动时间sudo -E env PATH$PATH keploy test -c go run main.go --delay 10Docker 环境docker run需映射 cgroup、bpf 等路径并加--privileged参数较多直接用一个 alias 收掉alias keploysudo docker run --pull always --name keploy-v2 -p 16789:16789 --privileged --pidhost -it -v $(pwd):$(pwd) -w $(pwd) -v /sys/fs/cgroup:/sys/fs/cgroup -v /sys/kernel/debug:/sys/kernel/debug -v /sys/fs/bpf:/sys/fs/bpf -v /var/run/docker.sock:/var/run/docker.sock --rm ghcr.io/keploy/keploy keploy record -c docker run --network network_name image --containerName container_name生产环境里它还能做什么失败用例自动重录。API 行为变化时重放失败的那组用例会被重新录制新的正确行为成为新基线替代手工改快照。真实依赖替代手写 mock。重放时数据库和外部服务由录制下来的真实查询与响应替代测试跑在真实数据形态上而不是你手工造的桩。手写 mock 需要跟着代码持续更新录制的 mock 则跟着流量自动更新。团队自己就在这么用。Keploy 的 CI 里每个 PR 都会重放既有 API 测试失败时自动重跑服务器、重新录制、模板化稳定用例时间戳、UUID 等动态值转成模板最后对变更行强制覆盖率。整个重放 → 失败 → 重录闭环在 adopters/organizations/keploy.md 里有完整说明。Keploy 常见问题需要改业务代码吗不需要。eBPF 在内核层抓包录制和重放都在应用外部完成业务代码与依赖保持原样eBPF 采集相关代码见 pkg/agent/hooks/linux/。支持哪些语言Go、Java、Python、Node.js、Rust、C#、PHP 等任意能在网络层通信的栈都行语言无关无需 SDK。数据会外发吗常规的录制与重放只在本机进行。使用 AI 单元测试生成UTG时只有源代码和单元测试代码会发往你指定的 LLM 后端选择私有部署的后端即可让代码留在内网。和现有 mock 框架怎么共存可以并存。Keploy 的 mock 来自真实流量录制适合外部依赖与集成层业务内部的手写 mock 继续用原框架即可两者按边界分工互不冲突。从 record 到 replay再到失败时重新录制这条链路不需要人工维护快照。更多细节见仓库内的 adopters/organizations/keploy.md 与 docs/有实际问题也可以到 Keploy 的 Slack 社区提出来。【免费下载链接】keployOpen-source platform for creating safe, isolated production sandboxes for API, integration, and E2E testing.项目地址: https://gitcode.com/GitHub_Trending/ke/keploy创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考