jeudi 21 mai 2015

Unit testing with robolectric and mockito for retrofit in android

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.

Aucun commentaire:

Enregistrer un commentaire