2010-05-27 3 views
7

Mockito апи предоставляет метод:Mockito не активирует больше никаких взаимодействий, но опускает добытчики

Mockito.verifyNoMoreInteractions(someMock); 

, но это возможно в Mockito заявить, что я не хочу больше взаимодействия с данными издеваться с исключениями взаимодействий с его геттерные методы?

Простой сценарий - это тот, в котором я проверяю, что SUT изменяет только определенные свойства данного макета и оставляет другие свойства неиспользованными.

В примере я хочу, чтобы проверить, что UserActivationService изменяет свойство активного на экземпляр класса User, но does't делать все, чтобы такие свойства, как роли, пароль, AccountBalance и т.д.

+0

См. Также http://stackoverflow.com/questions/12013138/mockito-verify-no-more-interactions-with-any-mock – Vadzim

ответ

13

Нет эта функция в настоящее время не Mockito , Если вам это нужно, вы можете создать его самостоятельно, используя отражение wizzardry, хотя это будет немного болезненно.

Мое предложение было бы проверить количество взаимодействий на методы, которые вы не хотите назвать слишком часто используя VerificationMode:

@Test 
public void worldLeaderShouldNotDestroyWorldWhenMakingThreats() { 
    new WorldLeader(nuke).makeThreats(); 

    //prevent leaving nuke in armed state 
    verify(nuke, times(2)).flipArmSwitch(); 
    assertThat(nuke.isDisarmed(), is(true)); 
    //prevent total annihilation 
    verify(nuke, never()).destroyWorld(); 
} 

Конечно Восприимчивость конструкции WorldLeader API может быть спорным, но, как пример, который он должен сделать.

 Смежные вопросы

  • Нет связанных вопросов^_^