Я пытаюсь высмеять объект сеанса cassandra, который получается в фактическом коде следующим образом: session = cluster.connect (keyspace); То, что я ищу, «Для того, чтобы выполнить заявление и вернуть фиктивный сеанса объект»Mocking cassandra session object
Я попытался следующие варианты
- MemberModifier.stub ( MemberMatcher.method (Cluster.class, «подключить " String.class)). ToReturn (session);
- PowerMockito.when (cluster.connect (keyspace)). ThenReturn (session);
- PowerMockito.when (cluster.connect (пространство ключей)) thenAnswer (новый ответ() { ответ общественности Объект (InvocationOnMock вызов) { возврата сеанса; } }).
- PowerMockito.when (cluster.connect (keyspace)). ThenReturn (session);
- Session testSession = cassandraService.getCassandraDBConnection();
Ни один из них индивидуально или в комбинации, похоже, не работает. Если соответствующий JUnit выполняется, то ошибка, что я получаю Трассировка стека здесь ниже ...
Все хост (ы) пытался для запроса не удалось (пробовал:/<>: <> (com.datastax.driver .core.exceptions.TransportException: [/ ip address] Не удается подключиться)) на com.datastax.driver.core.ControlConnection.reconnectInternal (ControlConnection.java:231) на com.datastax.driver.core.ControlConnection.connect (ControlConnection.java:77) at com.datastax.driver.core.Cluster $ Manager.init (Cluster.java:1414) at com.datastax.driver.core.Cluster.init (Cluster.java:162) at com.datastax.driver.core.Cluster.connectAsync (Cluster.java:333) на com.datastax.driver.core.Cluster.connect (Cluster.java:283) в com.capitalone.payments.customerprofile.service.CassandraInteractionService.getCassandraDBConnection (CassandraInteractionService.java:202)
Может кто-то наставит меня Здесь пожалуйста?
(я маскировали IPAddress и номер_порта в трассировки стека)
Спасибо! -Sriram
Спасибо за эту информацию doanduyhai ....Итак, разве мы не можем издеваться над каркасами PowerMock или Mockito? В любом случае, позвольте мне попробовать то, что вы сказали. Еще раз спасибо! – Ram
Объект 'Cluster' имеет защищенный конструктор, поэтому его довольно сложно издеваться над ним. В общем, если вам нужно полагаться на Powermock и заглушить все, я бы рекомендовал пойти на Stubbed Cassandra напрямую – doanduyhai