lundi 19 novembre 2018

How test parent protected method calling

I am trying to test this kind of code :

class SMTPAppenderBase<ILoggingEvent>{

   protected void append(ILoggingEvent e){
      //someCode
      //someCode
      sendBuffer();
      //someCode
   }

   protected void sendBuffer(){
      //SomeCode
   }
}


class SMTPAppender extends SMTPAppenderBase<ILogging>{

   //someMethod
}


class CustomAppender extends SMTPAppender{

   protected void append(ILoggingEvent e){
      //someCode
      //someCode
      super.append(e)
      //someCode
   }
}

I need to test how many times super.append(e) is calling from CustomAppender. This must be done in @Test method.

How should I do this? I thought about :

  • Mockito --> mock/spy. But it seems to be difficult with parent AND protected method.
  • Anonym class into CustomAppender -->

    CustomAppender appender = new CustomAppender() {
    
            @Override
            protected void sendBuffer() {
                //my counter here
                super.sendBuffer();
            }
        };
    
    

Thank you for your help.

Aucun commentaire:

Enregistrer un commentaire