У меня есть такой класс, который использует Unirest API для выполнения HTTP-вызова POST -
public class MyClass{
public MyObject getData(){
HttpResponse response = Unirest.post(someURL).header("Content-Type", "application/x-www-form-urlencoded")
.field("Field1", context.getParameter("value for field 1"))
.field("username", context.getParameter("username"))
.field("password", context.getParameter("password"))
.field("field 3", context.getParameter("field 3 value"))
.field("field 4", context.getParameter("field 4 value"))
.asJson();
}
}
В моем фиктивном классе - у меня есть объект HttpResponse в моем mockito, который будет возвращен, когда пост Unirest HTTP будетназываться.Я не хочу подключаться к конечной точке через Unirest и хочу вернуть свой пользовательский httpResponse.
HttpResonse<JsonNode> httpResponse; // my mocked response
Mockito.when(Unirest.post(someURL).header("Content-Type", "application/x-www-form-urlencoded")
.field("Field1", context.getParameter("value for field 1"))
.field("username", context.getParameter("username"))
.field("password", context.getParameter("password"))
.field("field 3", context.getParameter("field 3 value"))
.field("field 4", context.getParameter("field 4 value"))
.asJson()).thenReturn(httpResponse); // this is my custom response
Я уже смоделировал контекст для всех параметров, но все еще получаю ошибку как
org.mockito.exceptions.misusing.WrongTypeOfReturnValue:
HttpResponse не может быть возвращен getParameter ()
getParameter () должен вернуть String
Есть ли способсделать это проще для сторонних методов создания цепочек или лучшего примера для реализации?Спасибо!