Json Schema验证不会失败

时间:2016-07-28 07:33:41

标签: json rest testing

我正在使用Rest Assured api开发Json Schema Valdation。我从Web服务获得Json响应并使用此模式验证。 当我更改架构中的属性并运行测试代码时,测试不会失败。但我想测试那里存在的任何财产。如果响应测试中不存在模式中的某个属性,则必须失败。但我无法做到这一点。 我怎样才能做到这一点? 我的测试代码:

@Test
public void catalogButiqueDetailTest(){
    File file = new File("src/test/resources/generatedJson/boutiqueDetailSchema.json");
    JsonSchemaFactory jsonSchemaFactory = JsonSchemaFactory.newBuilder().setValidationConfiguration(ValidationConfiguration.newBuilder().setDefaultVersion(SchemaVersion.DRAFTV4).freeze()).freeze();


    given()
    .headers("some-header-info")
    .contentType("application/json")
    .get("web-service-url")
    .then()
    .assertThat()
    .body(JsonSchemaValidator.matchesJsonSchema(file).using(jsonSchemaFactory));
}

1 个答案:

答案 0 :(得分:0)

在您的架构中添加以下属性:

"required": ["prop1", "prop2", ...],
"additionalProperties": false