Lassen Sie uns sagen, dass ich eine Klasse namens Api haben und es hat eine Methode:Wie instanziiere ich eine united HttpResponse <JsonNode> für meinen Schein?
public class Api{
public HttpResponse<JsonNode> request() {
try {
return Unirest.get("http://localhost:8080").header("accept", "application/json").asJson();
} catch (UnirestException e) {
throw new RuntimeException(e);
}
}
}
Und ich habe eine Klasse: meine Business-Logik testen, auf der Grundlage der Antwort
public class Dao(){
private Api api;
public Dao(Api api){
this.api = api;
}
public Integer test(){
Integer result = api.request().getInteger("result");
return result + 100;
}
}
In meinem Test Ich möchte Meine API.request-Methode gibt zurück.
Etwas wie:
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.stub;
import org.json.JSONObject;
import com.mashape.unirest.http.HttpResponse;
public class ApiTest {
private API api = mock(API.class);
public void test() {
HttpResponse<JsonNode> response = null;
JSONObject result = new JSONObject();
response.getBody().getObject();
stub(api.request("")).toReturn(response);
Dao dao = new Dao(api);
assertTrue(dao.test() > 100);
}
}
Wie instanziieren ich die Httpresponse mit einem Body „{Nummer: 10}“ in der Lage sein, um es mit dem Modell zurück?