问题描述
我有一个问题,是否可以在测试中检查多个状态代码。 当我用同一批用户重新运行测试用例时,创建用户时的情况是201,当用户已经存在时是409。处理201,但不处理409。一个
resolve: {
extensions: [".tsx",".ts",".js"],},
编辑:
对于 var data = pm.response.json()
pm.test("Status test",function () {
return pm.response.to.have.status(200) || pm.response.to.have.status(409);
});
There was an error in evaluating the test script: JSONError: Unexpected token 'U' at 1:1 User already Exists ^
,我正在获取用户对象,但无法在此处发布该对象
200
字符串用户已存在
解决方法
测试状态200或409的更优雅的方法是:
pm.expect(pm.response.code).to.be.oneOf([200,409]);
当状态为409时发生错误,因为该请求不返回JSON,而是一个字符串。 我会放一些类似的东西
if (pm.response.code == 200) {
var data = pm.response.json()
// your code
}
但是我强烈建议您,不要这样做! 在测试方面,您希望一项测试仅检查一件事。否则,这很可能会导致误解并增加维护工作。
我建议根据相应的测试创建一个创建用户的请求。另一个尝试通过相应的测试来重新创建用户。