2016-04-11 8 views
1

ich meine Integrationstest-Suite in meiner Java Spring Web-Anwendung ausgeführt, jedoch mit dem folgenden Fehler ausgeführt.Java Spring: JUnit Hamcrest: Erwartete Sammlung

Es gibt einen einzelnen Elementwert: {ID-Wert} für ID, der in der Antwort zurückgegeben wird.

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()); 
    } 

Antwort

1

Ersetzen Sie Ihre hasItem mit 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()); 
    } 
+0

Ich erhalte eine Fehlermeldung: Die Methode EqualTo (String) für den Typ undefined IntegrationTest – jerryh91

+0

Haben Sie es importiert? 'Import statische org.hamcrest.Matchers.equalTo' – Cortwave

+0

Danke, das war es! – jerryh91

Verwandte Themen