我的问题是,如果我使用.assertthat((和.and((方法,则有什么区别?
例如:
then().assertThat().statusCode(200).and().contentType(ContentType.JSON)
和
then().statusCode(200).contentType(ContentType.JSON)
,如果响应代码不是200或内容类型为XML,则两种情况都会失败,并且无论您是否使用sostertthat((和((,它将返回相同的响应:
Exception in thread "main" java.lang.AssertionError: 1 expectation failed.
Expected status code <404> but was <200>.
那只是句法糖吗?
预先感谢您
是的,两个都是等效的。断言((/and((确实是句法糖,有助于可读性
来自Javadocs:
T和((
句法糖,例如
get("/something").then().assertThat().body(containsString("OK")).and().body(containsString("something else"));
与:
相同get("/something").then().assertThat().body(containsString("OK")).body(containsString("something else"));
t assertthat((
句法糖,例如
get("/something").then().assertThat().body(containsString("OK")).and().body(containsString("something else"));
与:
相同 get("/something").then().body(containsString("OK")).body(containsString("something else"));
t使用((
句法糖,例如
get("/something").then().using().defaultParser(JSON).assertThat().body(containsString("OK")).and().body(containsString("something else"));
与:
相同get("/something").then().defaultParser(JSON).body(containsString("OK")).body(containsString("something else"));
javadocs:https://www.javadoc.io/doc/com.jayway.restassure/rest-asesure/rest-ashest/latest/com/jayway/restassure/restassure/response/validatablesponse/validatablerespsessensessessonsessessopsenseoptense.html