我必须使用创建用户的 REST api。此 api 返回响应代码 201(已接受)、409(用户已存在)或其他代码,以防出现问题。我想验证收到的响应代码是 201 还是 409(而不是别的)。
现在我的代码只检查这些响应代码之一:
http()
.client(AddUserClient)
.receive()
.response(HttpStatus.CONFLICT)
是否有可能改变这一点,所以这两个值都会导致 OK 测试?
干杯,埃德
我必须使用创建用户的 REST api。此 api 返回响应代码 201(已接受)、409(用户已存在)或其他代码,以防出现问题。我想验证收到的响应代码是 201 还是 409(而不是别的)。
现在我的代码只检查这些响应代码之一:
http()
.client(AddUserClient)
.receive()
.response(HttpStatus.CONFLICT)
是否有可能改变这一点,所以这两个值都会导致 OK 测试?
干杯,埃德
Citrus Http Java fluent API 目前不支持这种验证。我会尽快添加,谢谢提示!
同时,您需要使用默认的接收流式 API 进行此特殊操作:
receive(AddUserClient)
.payload(...)
.header(HttpMessageHeaders.HTTP_STATUS_CODE, "@assertThat(anyOf(is(200), is(409)))@")
.header(HttpMessageHeaders.HTTP_VERSION, "HTTP/1.1");
您可以在 Citrus 测试用例中无限制地组合 Http fluent API 和默认的 fluent API。