orhanobut / wasp

Compact and easy to use, 'all-in-one' android network solution

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

How to test Android UI using IdlingResource(Espresso) when using Wasp network requests

opened this issue · comments

Hi Orhan Abi,

Espresso is waiting for AsyncTask on network calls. Is it possible to do it on Wasp? There is same problem on Retrofit link below.

http://stackoverflow.com/questions/23142437/how-to-test-android-ui-using-idlingresource-when-using-retrofit-network-requests

Retrofit can do it.
The most straightforward solution for this: is to basically swap out Retrofit's Thread-pool executor with an AsyncTask one.

new RestAdapter.Builder()
.setEndpoint(LOCLSET_SERVER_URL)
.setExecutors(AsyncTask.THREAD_POOL_EXECUTOR,
new MainThreadExecutor())
.build();

You can also use the same strategy.

    File cacheDir = new File(context.getCacheDir(), "volley");
    Network network = new BasicNetwork(new OkHttpStack(new OkHttpClient()));

    // Inject asynctask executor
    ResponseDelivery delivery = new ExecutorDelivery(ASYNC_EXECUTOR);
    requestQueue = new RequestQueue(new DiskBasedCache(cacheDir), network, 4, delivery);
    requestQueue.start();

//set it during wasp init
...
.setNetworkStack(VolleyNetworkStack.newInstance(requestQueue))

Haven't tried but should work.