junit - Mockito -mocking implementation class -


hi trying mock dao layer application has class hire achy application->parser->dao(interface)->dao implementation class

my problem when mocking dao interface or daoimp class using mockito in test case not working test case going db how make our test case use these mocked objects

    @runwith(mockitojunitrunner.class)       public class csvdataloadserviceimpltest {      @mock private meteringdatadao meteringdatadao;      list<object> persistedlist;     object meteringdata;     list<object> s=new arraylist<object>();      @suppresswarnings({ "rawtypes", "unchecked" })     @before public void setup(){         mockito.doanswer(new answer<list<object>>() {             @override             public list<object> answer(invocationonmock invocation) throws throwable {                 object[] args = invocation.getarguments();                 system.out.println("persist all");                 if(persistedlist == null){                      persistedlist = (list)args[0];                  }                 else                     persistedlist.addall((list)args[0]);                 return null;             }}).when(meteringdatadao).persistall(anylist());          mockito.doanswer(new answer<object>() {             @override             public object answer(invocationonmock invocation) {                 object[] args = invocation.getarguments();                 if(meteringdata == null)                      meteringdata = (list)args[0];                  return true;             }}).when(meteringdatadao).persist(anyobject());     }      @after public void teardown(){         persistedlist = null;         meteringdata = null;      }      @test     public void testdataaccuricy(){          csvdataloadservice csvdataloadservice =new csvdataloadserviceimpl();         csvdataloadservice.loadrackspacecsvdata();     } } 

csvdataloadservice csvdataloadservice = new csvdataloadserviceimpl(); 

you're constructing instance of service, instance doesn't use dao mocked. uses one. need like

csvdataloadservice csvdataloadservice =      new csvdataloadserviceimpl(meteringdatadao); 

Comments

Popular posts from this blog

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

linux - disk space limitation when creating war file -

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