У меня есть частный метод, который я пытаюсь проверить с помощью powermock.Параметры метода - это функциональный интерфейс и объект.Согласно документам, Whitebox.invokeMethod принимает только объекты в качестве параметров.Есть ли какая-то хитрость, чтобы передать реализацию функционального интерфейса?
т.е.
Object[] arguments = new Object[]{WarehouseOrderFieldFormattingProcessor::process, warehouseOrderEntity};
Whitebox.invokeMethod(processor, "processEntity", arguments);
Приведенный выше фрагмент кода был бы идеальным, но он не компилируется, потому что ссылки на метод иЯ уверен, что все реализации функциональных интерфейсов не являются объектами.
Редактировать:
Объявление метода, который я пытаюсь передать:
public WarehouseOrderProcessorResult process(WarehouseOrderEntity entity, Configuration config) throws Exception {...}
Объявление метода, который я пытаюсь вызвать:
private void processEntity(ProcessEntityFunc processLambda, WarehouseOrderEntity entity) throws Exception {...}
И функциональный интерфейс:
@FunctionalInterface
public interface ProcessEntityFunc {
WarehouseOrderProcessorResult process(WarehouseOrderEntity entity, Configuration config) throws Exception;
}