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
Post a Comment