### Question:
DeFiPluginMessageStore extends AbstractPluginMessageStore { @Override public GetMessageResult getMessage(String group, String topic, int queueId, long offset, int maxMsgNums, final MessageFilter messageFilter) { long startTime = System.nanoTime(); GetMessageResult getMessageResult = next.getMessage(group, topic, queueId, offset, maxMsgNums, messageFilter); if (getMessageResult.getStatus().equals(GetMessageStatus.FOUND)) { this.deFiQueueManager.recordLastDeliverOffset(group, topic, queueId, getMessageResult.getNextBeginOffset()); } long eclipseNanoTime = System.nanoTime() - startTime; pluginStoreStatService.recordGetTime(eclipseNanoTime); return getMessageResult; } DeFiPluginMessageStore(MessageStorePluginContext context, MessageStore next); @Override void start(); @Override void shutdown(); @Override PutMessageResult putMessage(MessageExtBrokerInner msg); @Override PutMessageResult putMessages(MessageExtBatch messageExtBatch); @Override GetMessageResult getMessage(String group, String topic, int queueId, long offset,
        int maxMsgNums, final MessageFilter messageFilter); MessageStore getDefaultMessageStore();  }### Answer:
@Test public void testGetMessage(){ GetMessageResult getMessageResult = new GetMessageResult(); getMessageResult.setStatus(GetMessageStatus.FOUND); getMessageResult.setNextBeginOffset(1); when(messageStore.getMessage(group,topic,1,0,0,null)).thenReturn(getMessageResult); GetMessageResult result = deFiPluginMessageStore.getMessage(group,topic,1,0,0,null); assertThat(result.getStatus()).isEqualTo(GetMessageStatus.FOUND); assertThat(result.getNextBeginOffset()).isEqualTo(1); }