放心 - body() in given() 或 when()

Rest Assured - body() in given() or when()

将 .body() 放在 given() 或 when() 中有什么区别? 我都试过了,效果一样。

放心git页面上的文档说.body()被插入到given()中,我尝试搜索任何关于将.body()放入when()的文章,但没有找到.我问是因为与我合作的团队在 when() 中使用 body()。

代码示例:

// #1  
given().headers("Content-Type", "application/json").body(classBody).
when().post(urlAPI).
then().contentType(ContentType.JSON).extract().response()

// #2
given().headers("Content-Type", "application/json").
when().body(classBody).post(urlAPI).
then().contentType(ContentType.JSON).extract().response()

两个代码 return 相同的结果。 那么,哪个更好呢?

如果您查看 java 文档,您会注意到 when() 是一种语法糖。 所以基本上它只会影响代码的外观,你可以跳过 when() 它会起作用。

我更喜欢使用示例 #1。

  1. Given 和 When 一样工作
  2. 他们曾经使测试更具可读性。因此,根据您的目的,您可以互换使用它们

这是编写代码的最佳方式。 Given()when()用于使代码更易读易懂。这被称为句法糖。

given().headers("Content-Type", "application/json").body(classBody).when().post(urlAPI)
.then().contentType(ContentType.JSON).extract().response()