Мокито Фрамеворк
Интро
Мокито је оквир за тестирање Јава апликација. Симулира понашање сложених објеката и олакшава развој тестирања јединица и откривање грешака.
Моцкито је ОпенСоурце и доступан је на следећој адреси: //моцкито.орг/.
Моцкито се заснива на принципу лажног објекта који симулира понашање другог објекта.
Имплементација Моцкито тестирања се обавља у неколико корака:
- Стварање лажног објекта
- Опис очекиваног понашања
- Кориштење исмијавања
- Проверити да ли је интеракција са подсмехом тачна
Пример
публиц цласс ЦлассА {јавна класа () {} публиц воид фонц1 () {} публиц воид фонц2 () {} публиц инт фонц3 (инт а, инт б) {ретурн а + б; }} публиц цласс ЦлассБ {ЦлассеА ца; публиц ЦлассА гетЦа () {ретурн ца; } публиц воид сетЦа (ЦлассА ца) {тхис.ца = ца; } публиц ЦлассБ () {ца = нев ЦлассА (); } воид воид мет1 () {ца.фонц1 (); ца.фонц1 (); Систем.оут.принтлн (ца.фонц3 (5, 6)); } публиц воид мет2 () {ца.фонц2 (); }}
Класа тестирања класе ЦлассБ:
импорт статична орг.моцкито.Моцкито.моцк; импорт орг.моцкито.Моцкито; публиц цласс Тест {публиц статиц воид маин (Стринг [] аргс) {ЦлассА ца = моцк (ЦлассА.цласс); ЦлассБ цб = нев ЦлассБ (); цб.сетЦа (ца); цб.мет1 (); Моцкито.верифи (ца, Моцкито.тимес (2)) фонц1 (); Моцкито.верифи (ца, Моцкито.тимес (1)) фонц3 (Моцкито.аниИнт (), Моцкито.аниИнт ()); }}
Анализа кода:
ЦлассА ца = моцк (ЦлассА.цласс);
=> Креира АЦ, лажну класу ЦлассА.
цб.сетЦа (ца);
=> Утиче на објекат ца на цб објекат.
цб.мет1 ();
=> Позива објекат методом цб мет1 ().
Моцкито.верифи (ца Моцкито.тимес (2)). Фунц1 ();
=> Проверава да се метода моцк ца фунц1 зове двапут.
Моцкито.верифи (ца, Моцкито.тимес (1)) фонц3 (Моцкито.аниИнт (), Моцкито.аниИнт ());
=> Проверава да се метода моцк фунц3 ца назива само једном са два целобројна параметра.
Када провера не успе, генерише се изузетак.
Пример:
Моцкито.верифи (ца, Моцкито.атЛеаст (1)) фонц2 ();
=> Ова линија генерише следећи изузетак:
Изузетак у низу "маин" Тражен, али није позван:
цлассА.фонц2 (); -> ат Тест01.маин (Тест01.јава:16)
==> Показује да метода фунц2 () моцк АЦ није позната.
Такођер можете промијенити резултате враћене из функције.
Систем.оут.принтлн ("Резултат ца.фонц (3, 3) је" + ца.фонц3 (3, 3)); Моцкито.вхен (ца.фонц3 (Моцкито.аниИнт (), Моцкито.аниИнт ())) .Ретурн (Интегер.валуеОф (5)); Систем.оут.принтлн ("Резултат ца.фонц (3, 3) је" + ца.фонц3 (3, 3));
Анализа кода:
Моцкито.вхен (ца.фонц3 (Моцкито.аниИнт (), Моцкито.аниИнт ())). тхенРетурн (Интегер.валуеОф (5));
# Повратна вредност функције фонц3 (моцк) је била 0 .
Присиљавамо га на 5 .
Ово је посебно корисно када се користе функције које садрже неколико карактеристика (услови, петље итд.) И желимо да проверимо понашање било које функције. Потребно је, дакле, да конфигуришемо симулације које се користе у овој функцији тако да прође све ове услове.
Тип од Вјаоуади.