java - assertEquals Fails when I'm returning null -


i'm trying implement mockito test particular method .thenreturn(null) seems not returning null value.

@runwith(powermockrunner.class) @preparefortest({ validationserviceimpl.class}) public class validationservicetest {      @test     public void testgetprodlist() throws exception{         ivalidationdao validationdao = mockito.mock(validationdaoimpl.class);         ivalidationservice validationservice = mockito.mock(validationserviceimpl.class);         reflectiontestutils.setfield(validationservice, "validationdao", validationdao);         list<productdetailsbean> prodgroups = new  arraylist<productdetailsbean>();         (int = 0; < 145; i++)              prodgroups.add(new productdetailsbean());         mockito.when(validationdao.getprodlist(12345)).thenreturn(prodgroups);         assertnotequals(null, validationservice.getprodlist(12345));     }      @test     public void testgetprodlistwithnulltest() throws exception{         ivalidationdao validationdao = mockito.mock(validationdaoimpl.class);         ivalidationservice validationservice = mockito.mock(validationserviceimpl.class);         reflectiontestutils.setfield(validationservice, "validationdao", validationdao);         mockito.when(validationdao.getprodlist(11111)).thenreturn(null);         assertequals(null, validationservice.getprodlist(11111));     }    } 

my first test case working fine second 1 failing..

stack trace:

java.lang.assertionerror: expected:<null> was:<[]>     @ org.junit.assert.fail(assert.java:88)     @ org.junit.assert.failnotequals(assert.java:743)     @ org.junit.assert.assertequals(assert.java:118)     @ org.junit.assert.assertequals(assert.java:144)     @ uk.co.argos.pst.test.sevices.validationservicetest.testgetprodlistwithnulltest(validationservicetest.java:53) 

please me i'm doing wrong.

you're mocking validationserviceimpl, returns default mock value getprodlist, empty list. underlying mocked ivalidationdao never called.

you mock call:

mockito.when(validationservice.getprodlist(11111)).thenreturn(null); 

but you're not testing code.

use real validationserviceimpl. rather mocking:

ivalidationservice validationservice = mockito.mock(validationserviceimpl.class); reflectiontestutils.setfield(validationservice, "validationdao", validationdao); 

construct real instance:

ivalidationservice validationservice = new validationserviceimpl(); validationservice.setvalidationdao(validationdao); 

Comments

Popular posts from this blog

How to provide Authorization & Authentication using Asp.net, C#? -

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

How to use Authorization & Authentication in Asp.net, C#? -