2015-12-13 4 views
0

Im глядя на эту функцию:Тестирование Cassandra Session.State - как издеваются

Session.State state = session.getState(); 
if(state.getConnectedHosts().size() == 0) 
    return Result.unhealthy("No cassandra connections"); 
else return Result.healthy(); 

я хотел бы проверить различные условия здесь, но я не ясно, о том, как издеваются/имитировать/дело с Session.State значение. Я могу высмеять сеанс, но другой интерфейс - во время выполнения это SessionManager, которому не хватает доступа общественности.

Есть ли способ (сила) Исправить это? Еще один способ проверить это?

+0

Если вы можете дразнить session.getState, то вы должны быть в состоянии вернуть Session.State от него ... – KarlM

ответ

0

Использование Mockito, следующие работы для меня:

import static org.mockito.Mockito.*; 

Session session = mock(Session.class);   
Session.State state = mock(Session.State.class); 
when(session.getState()).thenReturn(state); 
when(state.getConnectedHosts()).thenReturn(Collections.<Host>emptyList()); 
Смежные вопросы