logo

Руга против Стуба против шпијуна

Ругати се

Моцкс су објекти који чувају позиве метода. Помиње се као динамички омоти за зависности коришћене у тестовима. Користи се за снимање и верификацију интеракције између Јава класа. Моцк је познат као најмоћнија и најфлексибилнија верзија тестних двојника. Користимо метод за ругање тзв ругати се() .

Главна функција коришћења ругања је да даје потпуну контролу над понашањем исмејаних објеката. Лажни објекти се углавном користе за провера понашања . Термин понашање означава проверу исправних метода и путања које се примењују на објекте.

Моцкс се углавном креирају коришћењем библиотеке или оквира за ругање као што су Моцкито, ЈМоцк и ЕасиМоцк. Користи се за тестирање великог скупа тестова где стубови нису довољни. Једна од основних функција моцк-а је да можемо да проверимо колико пута је дата метода позвана.

Следећи исечак кода показује како се користи моцк().

 ToDoService doService = mock(ToDoService.class); 

Стуб

Стубови су објекти који држе унапред дефинисане податке и користе их за давање одговора током тестова. Другим речима, стуб је објекат који подсећа на прави објекат са минималним бројем метода потребних за тест. Стубови се користе када не желимо да користимо објекте који би дали одговор са стварним подацима. Заглавак се назива најлакшим, а најстатичнија верзија теста се удвостручује.

Главне функције стубова су:

  • Увек враћа унапред дефинисани излаз без обзира на улаз.
  • Може се користити да личи на објекте базе података.
  • Стубови се користе за смањење сложености које се јављају током креирања стварних објеката. Углавном се користе за извођење државна верификација .

Шпијун

Шпијуни су познати као делимично исмевају објекте . То значи да шпијун ствара делимичан објекат или половину лажног стварног објекта тако што убија или шпијунира праве. У шпијунирању, прави објекат остаје непромењен, а ми само шпијунирамо неке његове специфичне методе. Другим речима, узимамо постојећи (стварни) објекат и заменити или шпијун само неке од његових метода.

Шпијуни су корисни када имамо огромну класу пуну метода и желимо да се ругамо одређеним методама. У овом сценарију, требало би да радије користимо шпијуне, а не подсмехе и заблуде. Позива понашање стварног метода, ако методе нису угашене.

У Моцкито, метода спи() се користи за креирање шпијунских објеката. Омогућава нам да позовемо нормалне методе стварног објекта. Следећи исечак кода показује како се користи метода спи().

 List spyArrayList = spy(ArrayList.class); 

Разлика између Стуба и Моцк-а

Параметерс Стуб Ругати се
Извор података Извор података стубова је тврдо кодиран. Обично је чврсто повезан са тест пакетом. Подаци о моцкс се постављају тестовима.
Цреатед би Стубови су обично писани руком, а неки се генеришу помоћу алата. Моцкс се обично креирају коришћењем библиотеке треће стране као што су Моцкито, ЈМоцк и ВиреМоцк.
Употреба Стубови се углавном користе за једноставне тестне пакете. Моцкс се углавном користе за велике тестне пакете.
Графички кориснички интерфејс (ГУИ) Стубови немају ГУИ. Моцкс имају ГУИ.

Следе неке разлике између лажњака и шпијуна:

Параметерс Ругати се Шпијун
Употреба Моцкс се користе за креирање потпуно лажних или лажних објеката. Углавном се користи у великим тестним пакетима. Шпијуни се користе за креирање делимичних или полу лажних објеката. Као и лажни, шпијуни се такође користе у великим тестним апартманима.
Подразумевано понашање Када користите лажне објекте, подразумевано понашање метода (када нису угашене) је да не раде ништа (не обављају ништа.) Када користите шпијунске објекте, подразумевано понашање метода (када нису угашене) је стварно понашање методе.

У нашим претходним туторијалима, расправљали смо о неким примерима убијања, исмевања и шпијунирања. Да бисте боље разумели разлику између убијања, исмевања и шпијунирања, прођите кроз примере.

баци стринг у инт јава