gpt4 book ai didi

java - 使用 REST assured 进行 JSON 验证

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:48:20 25 4
gpt4 key购买 nike

我正在尝试验证 Json 对象。我用 https://code.google.com/p/rest-assured/wiki/Downloads?tm=2 ,

import static com.jayway.restassured.module.jsv.JsonSchemaValidator.matchesJsonSchemaInClasspath;
import static org.hamcrest.MatcherAssert.assertThat;

import org.junit.Test;

public class testClass {


@Test public void
validates_schema_in_classpath() {
// Given
String JsonString = "{\"isSuccess\":false}";// Greeting response

// Then
assertThat(JsonString, matchesJsonSchemaInClasspath("greeter-schema.json"));
}
}

greeter-schema.json:http://cs606926.vk.me/v606926718/15603/0Kauo1bTDi8.jpg

即使 JsonString 不等于这个 "{\"isSuccess\":false}",我每次都有 OK 结果。

例如,当 JsonString="{\"isSuccess\":false},{\"isFalse\":true}"或 "{\"isSuccess\":false},testetstets"

最佳答案

使用 RestAssured 的模式验证仅断言值存在。要针对某个值进行断言,您必须准确指出要查找的名称(在本例中为 isSuccess)以获取该值。然后验证这个派生值:

assertThat().body("isSuccess", equalTo(false));

这个功能实际上是 RestAssured 的目的,这里有很多关于它的信息: https://github.com/jayway/rest-assured/wiki/Usage#json-using-jsonpath

关于java - 使用 REST assured 进行 JSON 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23200757/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com