一个简单的 Web 服务, 数据都在数据库中.
但所有人都在往数据库中修改数据.
那么, 这种情况下, 如何做 HTTP 接口的自动化测试呢?
但所有人都在往数据库中修改数据.
那么, 这种情况下, 如何做 HTTP 接口的自动化测试呢?
1
zongren Jul 21, 2021
提供还原的接口
每次测试新建环境(当然是自动化) |
2
pastgift Jul 21, 2021
肯定要有一开始的测试环境构建和最后的环境清理的
自动化测试启动前,必要的数据导入数据库 跑完测试,把相关的测试数据全部清理掉 有条件的应该是新开一个完全独立的自动化测试环境,跑完删了就行,不和开发环境混在一起 没条件的可以给自动化测试时创建的记录加上前缀(比如,新建用户的时候,用户名起成「 autotest_user 」,最后统一根据前缀删除 |
3
efaun Jul 21, 2021
打 tag
|
4
coolcoffee Jul 21, 2021
比较理想的状态是,开发的是时候能写好 seed 数据,然后自动化测试就是拉出一个实例或者容器单独去跑。
但是实际上是,除非是完全新的项目,且有时间去写 seed 数据,否则老项目 seed 数据要么没有,要么已经很久没维护过,跑起来一步一坑。 |
5
NCE Jul 21, 2021
做环境分离啊
所有人都在往数据库中修改数据 = DEV 环境 做 HTTP 接口的自动化测试 = TEST 环境 |
6
NCE Jul 21, 2021
另外接口测试自动化应该都是实际数据动态请求,而不是写死的,写死的不叫自动化测试。
|
7
asanelder OP |
8
ebingtel Jul 22, 2021
我是自动复制一份空数据库、测试完之后 自动删除
|