多重响应代码的验证

Validation of multiple response codes

我必须使用创建用户的 REST api。此 api returns 响应代码 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 和 default fluent API。