当前位置: 首页 > 知识库问答 >
问题:

重新设定“或”条件

宓诚
2023-03-14

我有REST用于按名称查找用户,对于某些搜索词,它会返回具有该词的名字或姓氏的用户。

GET /search/joe

返回json数组:

[
  {"id": 1, "firstName": "Joe", "lastName": "Doe"},
  {"id": 2, "firstName": "Alex", "lastName": "Joelson"}
]

如何测试这个REST与rest和验证给定的搜索词包含在每一行的名字或姓氏,不区分大小写?

given()
  .when()
    .get("/user/search")
  .then()
    .statusCode(200)
    .body(?)

共有1个答案

朱渝
2023-03-14

没有User对象:

Response response = given().when().get("/user/search");
response.then().statusCode(200);

JSONArray users = new JSONArray(response.asString());
for (int i = 0; i < users.length(); i++) {
  JSONObject user = users.getJSONObject(i);
  String firstName = user.getString("firstName").toLowercase();
  String lastName = user.getString("lastName").toLowercase();

  Assert.assertTrue(firstName.contains("joe") || lastName.contains("joe"));
}

如果您有一个User对象,请考虑使用Jackson或JsonPath来简化验证。您还可以考虑使用Hamcrest进行验证。

 类似资料:
  • 问题内容: 有没有不用典型继承就可以重新定义类或其某些方法的方法?例如: 我该怎么做才能代替?显然这是我想做的 这是我的两难选择:我更新了破坏我的代码的第三方库。我不想直接修改该库,因为将来的更新可能会再次破坏代码。我正在寻找一种无缝的方法来替换类方法。 我发现这个库说可以做到,但是我很警惕,因为它已经有4年的历史了。 编辑: 我应该澄清的是,由于框架的限制,我不能将类从重命名为to 或其他任何名

  • 问题内容: 乍看之下,这个问题似乎很容易,但我只是没有找到合理的解决方案。 考虑具有以下特征的表: 每天,都会生成N个新行,用于表示将来的日期,并且“名称”来自有限列表。我想在有新数据时插入新行,但是如果已经有一个包含“名称”和“日期”的行,只需对其进行更新。 请注意,目前提出的检查条件的SPROC解决方案是不可行的,因为这是从另一种语言推送的数据。 问题答案: 那是为了什么 手册页面在这里。 诀

  • 问题内容: 我有一个中心对齐的DIV网站。现在,有些页面需要滚动,有些不需要。当我从一种类型移动到另一种类型时,滚动条的外观会将页面向侧面移动几个像素。如果没有在每个页面上明确显示滚动条,有什么办法可以避免这种情况? 问题答案: overflow-y:scroll是正确的,但是您应该将其与html标记一起使用,而不是body,否则在IE 7中 会出现一个双滚动条,因此正确的CSS是:

  • 我正在学习Python,我遇到了一点问题。在我正在学习的课程中看到类似的东西后,我想到了这个简短的脚本。我以前用过“或”和“如果”来表示成功(这里没有太多说明)。出于某种原因,我似乎无法让它工作: 但这很有效: 可能条件不适合这里。但是我试过了,等等。我想有一种方法让它接受猴子或猴子,其他一切都会触发精灵。

  • 问题内容: 我正在编写一个小的AngularJS应用,该应用具有登录视图和主视图,其配置如下: 我的LoginController检查用户/密码组合,并在$ rootScope上设置一个属性,以反映此情况: 一切正常,但是如果我访问,最终将绕过登录屏幕。我想写一些类似的内容,“每当路由更改时,如果$ rootScope.loggedUser为null,则重定向到/ login” … …等等。我可以