Java Spring:JUnit Hamcrest:期待集合

Java Spring: JUnit Hamcrest: Expecting Collection

我 运行 我的 Java Spring Web 应用程序中的集成测试套件,但是 运行 出现以下错误。

有一个项目值:id 的 {id 值},在响应中返回。

java.lang.AssrtionError: 1 expectation failed.
JSON path data.id doesn't match.
Expected: a collection containing "BUNDLE_A"
Actual: BUNDLE_A

IntegrationTest.java:

 @Test
  public void testBundle() throws Exception {
    RestAssured.when()
      .get("v1/bundles/{bundleId}", TEST_BUNDLE_ID)
    .then()
      .statusCode(HttpStatus.OK.value())
      .body("data.id", hasItem(TEST_BUNDLE_ID))
      .body("errorCode", nullValue());
  }

将您的 hasItem 替换为 equalTo:

 @Test
  public void testBundle() throws Exception {
    RestAssured.when()
      .get("v1/bundles/{bundleId}", TEST_BUNDLE_ID)
    .then()
      .statusCode(HttpStatus.OK.value())
      .body("data.id", equalTo(TEST_BUNDLE_ID))
      .body("errorCode", nullValue());
  }