我正在使用testNg和Mockito编写单元案例。我面临的问题是以下给出的方法:
public void publishRequest(final NotificationRequest request){
MessageCreator messageCreator = new MessageCreator() {
@Override
public Message createMessage(Session session) throws JMSException {
if (logger.isDebugEnabled()) {
logger.debug("Start of MessagePublisher publishRequest");
}
ObjectMessage msg = session.createObjectMessage();
msg.setStringProperty(
"SELECTOR",
request.getAvailaibilityTier() + "-"
+ request.getEsbReference());
if (logger.isDebugEnabled()) {
logger.debug("Message Selector=>"+msg.getStringProperty("SELECTOR"));
}
msg.setStringProperty(NotificationConstants.CACHE_KEY.name(),
request.getId());
msg.setObject(request.getData());
if (logger.isDebugEnabled()) {
logger.debug("Publishing request -->" + request);
}
if (logger.isDebugEnabled()) {
logger.debug("End of MessagePublisher publishRequest");
}
return msg;
}
};
producerTemplate.send(messageCreator);
}
Run Code Online (Sandbox Code Playgroud)
在编写单元案例时,即使我的测试案例创建了MessageCreater对象,也不会调用createMessage()方法。我想在单位案例中也包括在内,以获得更好的覆盖范围。任何想法如何测试内部类的方法?