开发者

Not able to write the testcases for inner class using EasyMock

I am new to the EasyMock. I need to test my class using the EasyMock. but here the problem is my class has inner class and this inner class is instatiated in the outer class's method and calling the method of inner class by passing some parameters. I am not sure how to write the test case for this scenario.

Please help me write the test case for this.

Any help or suggetions are highly appreciated.

public class ServiceClass implements Servi开发者_开发百科ceInterface {

   public void updateUSer(USer) {
      //some logic over here.
      sendEmailNotice(subject, vTemplate);
   }

   private sendEmailNotice(subject, vTemplate) {

       MimeMessagePrepator eNotice = new PrepareEmailNotice(subject, vTemplate);
       MailSender.send( eNotice );   
   }

   public class PrepareEmailNotice implements MimeMessagePrepator {
       // some local variables.
       public PrepareEmailNotice(subject, vTemplate) {
          subject = subject;
          vTemplate = vTemplate;
       }

       public void prepare( MimeMessage message) {
          MimeMessageHealper helper = new MimeMessageHealper(message, true);
          // setting the mail properties like subject, to address, etc..
        }
    }

Thanks.


First of all you need to think about what is the class responsibility. At should it be doing with who should it be speaking?

Once you've clearly identified the dependencies you need to see how you can handle them in your code. You might need do to perform some refactoring in order to conform to the dependency inversion principle. For example here you have a dependency to the MailSender class but you won't be able to mock it as this dependency is "hard coded".

There is a good video about that: http://www.youtube.com/watch?v=XcT4yYu_TTs

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜