Почему вам нужно злоупотреблять другими классами, а не реализовывать что-то чрезвычайно простое:
public class Dimensions {
public int width;
public int height;
public Dimensions() {}
public Dimensions(int w, int h) {
width = w;
height = h;
}
public Dimensions(Dimensions p) {
this.width = p.width;
this.height = p.height;
}
public final void set(int w, int h) {
width = w;
height = h;
}
public final void set(Dimensions d) {
this.width = d.width;
this.height = d.height;
}
public final boolean equals(int w, int h) {
return this.width == w && this.height == h;
}
public final boolean equals(Object o) {
return o instanceof Dimensions && (o == this || equals(((Dimensions)o).width, ((Dimensions)o).height));
}
}
Преимущество первого способа заключается в использовании приведенной тогда нотации, стиля представления тестов. Это делает ваши тесты более читабельными и является частью BDD ( поведенческая разработка ). Если вы добавите часть «затем» вместо asString (), вы могли бы сделать утверждения в одной строке. Чтобы добавить файлы cookie в первом случае, добавление файла cookie после заданного было бы достаточно, например: данный (). Cookie ("my_cookie_name", "my_cookie_value") ... и т. Д. Во втором случае вам просто нужно установить cookie для httpRequest. Более подробная информация здесь .
Нет разницы, потому что вы используете тот же класс и метод. Импорт для первого примера будет:
import io.restassured.RestAssured;
Импорт для второго будет:
import static io.restassured.RestAssured.*;
И для обоих примеров вы можете сделать это:
RestAssured.baseUri = "http://www.example.com";
//Example 1
RestAssured.given().when().get().then().statusCode(200);
//Example 2
given().when().get().then().statusCode(200);