接口测试 Rest-assured assert 时怎么做,可以忽略某些字段

TavisD · March 04, 2019 · Last by 秋草 replied at March 05, 2019 · 1666 hits

接口返回有些字段每次都是动态变化,只校验不变的字段应该怎么做?Rest-Assured 原生支持吗?还是说要自己写?

假设接口返回如下:

{
    "lotto":{
     "lottoId":5,
     "winning-numbers":[2,45,34,23,7,5,3],
     "winners":[{
        "winnerId":23,
        "numbers":[2,45,34,23,3,5]
        },{
        "winnerId":54,
        "numbers":[52,3,12,11,18,22]
        }],
    "updateTime":"2019-03-04 01:22:22"
    }
}

updateTime,winnerId每次请求都是变化的,想忽略掉,只检查如下内容:

{
    "lotto":{
     "lottoId":5,
     "winning-numbers":[2,45,34,23,7,5,3],
     "winners":[{
        "numbers":[2,45,34,23,3,5]
        },{
        "numbers":[52,3,12,11,18,22]
        }],
    }
}
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 3 条回复 时间 点赞

用 json-schema 校验

TavisD #2 · March 04, 2019 Author
秋草 回复

json-schema 太麻烦了,效率太低,特别是接口返回很大时。我预期是直接删除接口返回中动态变化的字段,保留不变的字段,然后复制进行 assert。这种 Rest-Assured 可以做到吗?Rest-Assured 好像只支持单个字段的校验?或者其他断言框架?之前用 python 时,是自己写方法来校验的。

TavisD 回复

你把不需要的这几个字段删掉,直接用在线工具生成个 json-schema,不比你自己写简单?😓

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up