我是EasyMock的新手。我需要使用EasyMock测试我的课程。但问题是我的类有内部类,这个内部类在外部类的方法中实例化,并通过传递一些参数来调用内部类的方法。我不确定如何为这种情况编写测试用例。
请帮我写一下测试用例。
非常感谢任何帮助或建议。
public class ServiceClass implements ServiceInterface {
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..
}
}
感谢。
答案 0 :(得分:1)
首先,你需要考虑什么是阶级责任。 它应该在做谁应该说话?
一旦您清楚地确定了依赖关系,就需要了解如何在代码中处理它们。 您可能需要执行一些重构以符合依赖性反转原则。 例如,在这里你有一个对MailSender类的依赖,但你将无法模拟它,因为这个依赖是“硬编码”。