Reputation: 59
I am facing problem how to write test code for retrofit.The codes are as below.
MainActivity.java
import android.os.Bundle;
import java.util.List;
import gallery.com.brandlistview.Bird;
import retrofit.Callback;
import retrofit.client.Response;
public class MainActivity implements Callback<List<Bird>> {
@Override
protected void onCreate(Bundle savedInstanceState) {
Globals.getRestClient().getBirdClient().getBirdList(this);
}
@Override
public void success(List<Bird> birds, Response response) {
}
@Override
public void failure(--------) {
}
}
Bird.java
public class Bird {
private String image_url;
public String getImage_url() {
return image_url;
}
public void setImage_url(---------) {
-----------
}
}
Globals.java
public class globals{
public static RestClient restClient;
public static RestClient getRestClient() {
return restClient;
}
public static BirdClient getBirdClient() {
return getRestClient().getBirdClient();
}
}
RestClient.java
public class RestClient{
private BirdClient mBirdClient;
public RestClient() {
mBirdClient = new BirdClient(getBirdService());
}
public BirdClient getBirdClient() { return mBirdClient; }
public static BirdService getBirdService() {
RestAdapter restAdapter = new RestAdapter.Builder()
.setEndpoint(URL)
.setLogLevel(RestAdapter.LogLevel.FULL)
.build();
return restAdapter.create(BirdService.class);
}
}
BirdClient.java
public class BirdClient{
private BirdService mAPIService;
public BirdClient(BirdService service) {
assert service != null;
mAPIService = service;
}
public void getBirdList(final Callback<List<Bird>> delegate) {
----------------------
}
}
BirdService.java
public interface BirdService {
@GET(URL)
void getBirdList(Callback<List<Bird>> objectManager);
}
I want to write test code to test if the number of items in List is equal to 15(for example) after successful callback of getBirdList() as shown is MainActivity.java . Also, I am using Robolectric and Mockito library for testing. I am trying to write since tuesday .please help.
Upvotes: 2
Views: 2218
Reputation: 1034
I suggest that you don't test that the actual request to server is working, due to the server response might change and you may not have internet when running test, but test it with some mock data.
Here is an example where he's using mockito together with retrofit to unit-test api functionality:
Good luck!
Upvotes: 2