Разница между заглушкой и mockito

Я новичок в mockito.

нужно знать разницу между заглушкой и когда

      1. stub(cpproxy.getBinList()).toReturn(gettestbins());
      2. when(cpproxy.getBinList()).thenReturn(gettestbins());

в чем разница между этими двумя?


person Ramya    schedule 06.02.2013    source источник


Ответы (1)


Собственно технически они одинаковы. Когда впервые был создан Mockito, мы говорили о заглушках, поэтому словарь соответствовал этой идее. Позже люди подумали, что лучше думать в взаимодействиях, чем в технических терминах, поэтому словарь соответствовал стилю когда ... тогда ... . Это изменение словарного запаса помогает людям думать о взаимодействиях, обмене сообщениями между объектами. Какая самая интересная идея (передача сообщений) в объектно-ориентированном языке ( цитируя Алана Кея).

В настоящее время подход к тестированию превратился в разработку, основанную на поведении (от Дэна Норта), что почти то же самое, но еще больше внимания уделяется поведению во время разработки. Чтобы отразить это мышление, люди попросили Mockito предложить API, отражающий это изменение. Так что вы также используете стиль given ... will ... из BDDMockito

given(the_type.performs_that()).willReturn(something)

Это мой любимый словарь сейчас, поскольку я использую тесты для разработки дизайна своих объектов.

person Brice    schedule 06.02.2013
comment
Когда вы говорите технически то же самое, что вы имеете в виду? Вы имеете в виду, что они делают одно и то же, но это просто разные названия? (Это я понимаю, но я бы хотел немного прояснить) - person Fund Monica's Lawsuit; 13.09.2018
comment
@NicHartley Да BDDMockito given / when стиль - это просто псевдонимы, и они основаны на одном техническом коде. В Mockito 2.x BDDMockito предлагает дополнительные методы, позволяющие разработчику использовать разработку, управляемую поведением, в большем количестве мест, особенно для проверки, в то время как API не так симметричен в этом случае, внутреннее устройство остается прежним. - person Brice; 13.09.2018