java - How to mock Void Call? -


in api (with retrofit) have lot of requests this:

public call<void> postasyncreservedevice(@nonnull reservedworkerdata data, @nonnull string token) {          return apiservice.postreservedworker(                 data,                 apiprefs.token_prefix + token); } 

where ignore result of response - successful or not , important.

but faced problem in unit test. need mock api answer:

@test public void test() { //... when(apiservice.postasyncreservedevice(                 eq(data), any(string.class)))                 .thenreturn(calls.response(any() void)) //... } 

looks good, when run test case see error:

java.lang.classcastexception: java.lang.object cannot cast java.lang.void 

how mock , test such methods in api?

the method returns call<void>, why not return in mocked method : mockito.any(call.class) ?

for example :

mockito.when(mock.postasyncreservedevice()).thenreturn(mockito.any(call.class)); 

while produce warning @ compile time declares raw call.


Comments

Popular posts from this blog

Is there a better way to structure post methods in Class Based Views -

performance - Why is XCHG reg, reg a 3 micro-op instruction on modern Intel architectures? -

jquery - Responsive Navbar with Sub Navbar -