接口测试 atest v0.0.19 重磅更新!数据库 + 智能 Mock,让开发效率飙升!

LinuxSuRen · 2025年03月16日 · 1743 次阅读

还在为接口测试与数据库联调头疼?

还在苦等后端接口才能推进前端开发?

atest 开源工具全新升级,两大核心功能助你告别低效,轻松玩转开发测试!

亮点一:多数据库支持,数据查询从未如此简单

在接口开发、测试过程中,经常会和数据库打交道,甚至会同时用到不同类型的数据库,包括:SQL、noSQL 等等。下面给出在 atest 中如何使用数据库工具的介绍:

首先,添加数据库链接。经过测试,支持的数据库包括:MySQL、Postgres、TiDB、TDengine。另外,也支持对 Etcd、Redis 的查询。

然后,用户可以选择对应的数据库。UI 节目中默认以表格展示数据,这也是最常见的形式。

此外,也支持以 JSON 格式展示数据。这在某些情况下,可能是比较方便的。

作为开发者的你,如果这个功能对你有所帮助,或者你比较感兴趣的话,欢迎参与到相关领域的开源协作、贡献中来。不同类型的数据库的支持,是通过插件(extension)的方式来实现的,下面分别给出关系型数据库以及 Redis 缓冲插件的开源项目地址:

亮点二:Mock 服务升级,前后端并行开发真香!

Mock 系统通过模拟后端接口返回的数据,让前后端开发并行推进,提升开发效率。它为测试团队提供灵活的测试环境,可模拟各种正常和异常的接口响应情况,保障测试质量。Mock 系统打破了前后端开发团队之间的壁垒,促进团队协作。同时,它具有灵活性,能快速适应需求变更,支持敏捷开发。以下是 atest 提供的 mock 服务的使用说明:

mock 服务是采用 YAML 格式来描述的,例如:

`#! api-testing-mock

yaml-language-server: $schema=https://linuxsuren.github.io/api-testing/api-testing-mock-schema.json

objects:

  • name: projects initCount: 3 sample: | { "name": "atest", "color": "{{ randEnum "blue" "read" "pink" }}" }`

启动 mock 服务器的命令:atest mock --prefix / --port 9090 mock.yaml。用户可以设置服务端口,以及 API 的前缀。当 mock 服务启动后用户就可以通过代码或工具来调用这些 HTTP API 了。而为了满足各种接口的场景,下面分别介绍 atest 提供不同的 mock 特性:

模板函数:在 API 的路径、响应头(Header)、响应体(Response body)等重要部分都可以使用基于 Golang 的模板函数,尽可能地模拟期望的 API 状态。例如:随机枚举值、随机数字、随机字符串、时间日期、环境变量。更多模板函数请参考如下文档:

https://linuxsuren.github.io/api-testing/latest/tasks/template/

对象、自定义模式:在对象模式下,atest 自动提供符合 restFul 的基于简单对象的 CRUD(增删查改)API;在自定义模式下,atest 实现了完整的基于 HTTP 协议的接口,可以完成几乎任意接口的模拟,但用户也需要对协议本身比较熟悉。

代理机制:在真实的软件研发过程中,往往是在已有的系统(平台、产品)的基础之上进行开发,要新开发的 API 接口是其中的一部分,我们不可能(也没必要)把所有已存在的接口都模拟一遍。只要配置好 atest 提供的代理模式,前端研发不仅可以调用 mock 接口,而且还可以调用到已有的接口。

`#! api-testing-mock

yaml-language-server: $schema=https://linuxsuren.github.io/api-testing/api-testing-mock-schema.json

proxies:

为什么选择 atest?

下面是 atest 截止到 v0.0.19 的部分数据:

  • 开源社区活跃:25+ 贡献者,303 Stars,持续迭代中。
  • 高效易用:8.5k+ 二进制下载量,6.8k+ 镜像使用,开发者口碑验证。
  • 灵活扩展:插件化设计,满足企业级定制需求。

从数据库查询到智能 Mock,atest 为开发者而生,让测试不再是瓶颈!

点击 “阅读原文” 直达项目主页,现在就试试看吧!✨

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册