How would I mock a JDK8 method reference? I want to know that the right method name was passed.
E.g. here is the method to test:
public void initHandlers(Vertx vertx, OpenAPI3RouterFactory routerFactory) throws SQLException
{
super.initHandlers(vertx, routerFactory);
routerFactory.addHandlerByOperationId(J_TASKER_START_RUN_ID, this::startRun);
routerFactory.addFailureHandlerByOperationId(J_TASKER_START_RUN_ID, this::validationError);
routerFactory.addHandlerByOperationId(J_TASKER_CANCEL_RUN_ID, this::cancelRun);
routerFactory.addFailureHandlerByOperationId(J_TASKER_CANCEL_RUN_ID, this::validationError);
routerFactory.addHandlerByOperationId(J_TASKER_RUN_STATUS_ID, this::runStatus);
routerFactory.addFailureHandlerByOperationId(J_TASKER_RUN_STATUS_ID, this::validationError);
}
Here is my current test but it's missing any real purpose because I can't figure out how to specify the correct method reference.
@Test
public void test_initHandlers() throws Exception
{
EasyMock.expect(routerFactory.addHandlerByOperationId(EasyMock.eq(J_TASKER_START_RUN_ID), EasyMock.anyObject())).andReturn(routerFactory);
EasyMock.expect(routerFactory.addFailureHandlerByOperationId(EasyMock.eq(J_TASKER_START_RUN_ID), EasyMock.anyObject())).andReturn(routerFactory);
EasyMock.expect(routerFactory.addHandlerByOperationId(EasyMock.eq(J_TASKER_CANCEL_RUN_ID), EasyMock.anyObject())).andReturn(routerFactory);
EasyMock.expect(routerFactory.addFailureHandlerByOperationId(EasyMock.eq(J_TASKER_CANCEL_RUN_ID), EasyMock.anyObject())).andReturn(routerFactory);
EasyMock.expect(routerFactory.addHandlerByOperationId(EasyMock.eq(J_TASKER_RUN_STATUS_ID), EasyMock.anyObject())).andReturn(routerFactory);
EasyMock.expect(routerFactory.addFailureHandlerByOperationId(EasyMock.eq(J_TASKER_RUN_STATUS_ID), EasyMock.anyObject())).andReturn(routerFactory);
replayAll();
instance.initHandlers(vertx, routerFactory);
verifyAll();
}
How would I mock a JDK8 method reference? I want to know that the right method name was passed.
E.g. here is the method to test:
Here is my current test but it's missing any real purpose because I can't figure out how to specify the correct method reference.