atest
发布 v0.0.18
atest
是致力于帮助开发者持续保持高质量 API 的开源接口工具。
你可以在命令行终端或者容器中启动:
docker run -p 8080:8080 ghcr.io/linuxsuren/api-testing:v0.0.18
atest
增加了基于 MySQL 的测试用例历史的支持在系统和平台的开发过程中,我们通常会采用前后端分离的开发模式。在后端 API 尚未开发完成、稳定化,并且未部署到公共集成测试环境之前,前端开发者往往需要通过硬编码数据来推进页面开发。待后端开发完成后,会进入所谓的 “联调” 阶段,这时可能会遇到以下问题:
在最坏的情况下,前后端的联调可能会耗费远超预期的时间。为了更有效地解决这一问题,atest
提供了 HTTP API Mock 功能。
在设计评审阶段,我们可以根据 API 设计提供相应的 Mock 服务配置,从而快速模拟后端 API 的响应数据。例如:
objects:
- name: users
sample: |
{
"name": "LinuxSuRen",
"age": 18
"gender": "male"
}
proxies:
- path: /api/v1/projects/{projectID}
target: http://localhost:8080
把上面的内容放到 mock.yaml
文件中,然后使用 atest mock --prefix /api/v1 --port 6060 mock.yaml
命令即可启动一个 HTTP Mock 服务。
此时,Mock 服务就会把代理模块指定的 API 转发到已有服务的的接口上,并同时提供了 users
对象的增删查改(CRUD)的标准 API。你可以用 atest
或者 curl
命令来调用这些 API。
curl -X POST -d '{"name": "Rick"}' http://localhost:6060/api/v1/users
curl -X GET http://localhost:6060/api/v1/users
curl -X PUT -d '{"name": "Rick", "age": 20}' http://localhost:6060/api/v1/users/Rick
curl -X GET http://localhost:6060/api/v1/users/Rick
curl -X DELETE http://localhost:6060/api/v1/users/Rick
非常期待 atest
可以帮助更多的项目持续提升、保持 API 稳定性。
本次版本发布,包含了以下 3 位 contributor 的努力:
下面是 atest
截止到 v0.0.18
的部分数据:
想了解完整信息的话,请访问 https://github.com/LinuxSuRen/api-testing/releases/tag/v0.0.18