试图恢复API响应的预期和实际匹配的id



我一直在测试一个api,我在测试中寻找了ID 24,我的实际和预期是一样的。我假设我使用了不正确的语法。body,我应该放什么?

@Test
public void test_get_userid() {
given().
when().
get("http://bpdts-test-app-v2.herokuapp.com/user/24").
then().
assertThat().
statusCode(200).
and().
contentType(ContentType.JSON).
and().
body("id", equalTo("24"));
}
java.lang.AssertionError: 1 expectation failed.
JSON path id doesn't match.
Expected: 24
Actual: 24

所提供的JSON对象在键"id"下具有数字24。它不是JSON字符串,应该是"24"

你试过equalTo(24)吗?如数字文字,而不是字符串文字。

id的类型是一个整数,而不是字符串。

正确答案是

given().when().get("http://bpdts-test-app-v2.herokuapp.com/user/24").then().assertThat().statusCode(200).and()
.contentType(ContentType.JSON).and().body("id", equalTo(24));

您可以使用以下代码进行测试,该代码将给出值的类型为"0";java.lang.Integer">

Class<? extends Object> m1 = given().when().get("http://bpdts-test-app-v2.herokuapp.com/user/24").getBody()
.jsonPath().get("id").getClass();
System.out.println(m1);

相关内容

  • 没有找到相关文章

最新更新