Я думаю, что это работа для PowerMock. Я сомневаюсь, что Мокито может это сделать. The PowerMock documentation explains how to do it. И использует это в качестве примера:
@Test
public void testReplaceData() throws Exception {
final String modifyDataMethodName = "modifyData";
final byte[] expectedBinaryData = new byte[] { 42 };
final String expectedDataId = "id";
// Mock only the modifyData method
DataService tested = createPartialMock(DataService.class, modifyDataMethodName);
// Expect the private method call to "modifyData"
expectPrivate(tested, modifyDataMethodName, expectedDataId,
expectedBinaryData).andReturn(true);
replay(tested);
assertTrue(tested.replaceData(expectedDataId, expectedBinaryData));
verify(tested);
}
Почему вы хотите издеваться над частными методами? Обычно это плохая идея. –
Если вы считаете, что вам нужно высмеять частный метод, это означает, что вы изменяете поведение общедоступного метода, который вы пытаетесь проверить. Поэтому очень вероятно, что вы не пишете действительный тест. Можете ли вы опубликовать более подробную информацию о том, чего вы на самом деле пытаетесь достичь, и, возможно, кто-то может дать вам более подробную помощь или советы о том, что должно быть в ваших тестах. Но насмешливые частные методы редко являются частью хорошего теста для класса; поэтому Mockito не предоставляет эту функциональность. –