java - Mockito method returns null -
i looked in forum couldn't find why happen
i have
public class aimpl implements a{ @autowired b bimpl; protected void dosomething(){ string s = "test"; string d = b.permutestring(s); system.out.println(s.substring(1)); } } public class bimpl implements b{ public string permuatestring(s){ return s; } }
in test have:
@injectmocks aimpl aimpl; @mock bimpl bimpl; @test public void testcode(){ testcode(){ aimpl.dosomething(); } }
the method permuatestring
bimpl
returns null. need know result of permutestring() in order continue execution of dosomething. can't null
why it?
i using mockito
by annotating bimpl
field @mock
, you're saying instance should mock. however, you're not telling mockito result mock should give when invoked arguments, mockito uses default behaviour of returning null.
the fact bimpl
real class real behaviour irrelevant. field not contain instance of class; contains instance of mock.
in test method, before call aimpl.dosomething()
, tell mockito behaviour expect use:
when(bimpl.permutestring("test")).thenreturn("someothervalue");
Comments
Post a Comment