www.wikidata.uk-ua.nina.az
Maketi ob yektiv angl Mock Object u ob yektno oriyentovanomu programuvanni ce ob yekti sho imituyut povedinku spravzhnih ob yektiv kontrolovanimi sposobami tobto realizuyut interfejsi spravzhnih ob yektiv ale ne mayut vlasnoyi realnoyi funkcionalnosti Programist zazvichaj stvoryuye maket ob yekta dlya testuvannya povedinki deyakih inshih ob yektiv bagato v chomu tak samo yak avtomobilnij dizajner vikoristovuye maneken sho mozhe ruhatisya dlya imitaciyi dinamichnoyi povedinki lyudini v transportnij avariyi Zmist 1 De varto vikoristovuvati 2 Tipi maketnih ob yektiv 3 Detali vikoristannya 3 1 Zasobi avtomatizaciyi stvorennya 4 Zasterezhennya shodo vikoristannya 5 Realizaciya 6 Zv yazok z inshimi paternami 7 Div takozhDe varto vikoristovuvati red U modulnomu testuvanni fiktivni ob yekti mozhut modelyuvati povedinku skladnih realnih ne maketnih ob yektiv i otzhe korisni koli realnij ob yekt nedocilno abo nemozhlivo vikoristati v modulnomu testi Yaksho ob yekt maye bud yaku z navedenih nizhche harakteristik vikoristannya fiktivnogo ob yektu mozhe buti korisnim v comu vipadku nadaye nedeterminovani rezultati napriklad chas abo temperaturu ye scenariyi yaki vazhko stvoriti abo vidtvoriti napriklad pomilka v merezhi povilno pracyuye napriklad povna baza danih yaka povinna buti inicializovana do pochatku testuvannya ob yekt she ne isnuye abo mozhe zminiti povedinku ob yekt povinen vklyuchati v sebe informaciyu i metodi viklyuchno dlya cilej testuvannya a ne dlya realnogo vikoristannya Napriklad stvoryuyetsya programa sho reaguye na pokazniki datchika sho vimiryuye temperaturu u primishenni Neobhidno pereviriti sho u programi vinikne poperedzhennya yaksho temperatura u primishenni vpade nizhche deyakogo rivnya Realno znizhuvati temperaturu primishennya skladno ta nedocilno Tomu vipravdanim ye stvorennya maketu dlya datchika temperaturi sho nadaye dani pro temperaturu u takomu zh formati sho i realnij datchik ale programist maye zmogu keruvati danimi sho povertaye takij datchik Tipi maketnih ob yektiv red Maketni ob yekti mozhut lishe povertati vkazani rezultati abo takozh zapam yatovuvati fakt viklikiv svoyih metodiv ta yaksho u testovomu scenariyi de obov yazkovo testovanij ob yekt mav viklikati deyakij metod maketnogo ob yekta ale ne zrobiv cogo povidomlyati pro nevikonannya testu Takozh isnuyut maketni ob yekti sho prosto realizuyut interfejs realnih deyakoyu porozhnoyu realizaciyeyu i programist ne mozhe keruvati nimi Detali vikoristannya red Maketni ob yekti ta realni ob yekti yaki voni imituyut mayut odnakovi interfejsi sho dozvolyaye kliyentu ob yekta ne vidchuvati riznici realni ob yekti vin vikoristovuye chi fiktivni Suchasni frejmvorki dlya modulnogo testuvannya dozvolyayut programistu legko stvoryuvati maketni ob yekti zadanogo interfejsu abo bazovogo tipu vkazuvati neobhidnij rezultat dlya viklikiv metodiv ta vlastivostej maketnih ob yektiv vkazuvati yaki parametri mayut buti peredani tomu chi inshomu metodu yaki metodi chi vlastivosti vzagali mayut viklikatisya fakt usih obov yazkovih dlya testu viklikiv metodiv maketnogo ob yektu mozhe buti perevireno u modulnomu testi Zasobi avtomatizaciyi stvorennya red Dlya movi programuvannya C Sharp Rhino Mocks Moq Arhivovano 26 grudnya 2012 u Wayback Machine Typemock Arhivovano 26 grudnya 2012 u Wayback Machine Nsubstitute Arhivovano 27 sichnya 2013 u Wayback Machine NMock Arhivovano 21 grudnya 2012 u Wayback Machine Dlya movi programuvannya Python Pymox Arhivovano 25 grudnya 2012 u Wayback Machine Python Mocker Arhivovano 18 grudnya 2012 u Wayback Machine Dlya movi programuvannya Ruby on Rails FlexMock Mocha Arhivovano 31 serpnya 2009 u Wayback Machine RSpec RR Arhivovano 21 serpnya 2009 u Wayback Machine Zasterezhennya shodo vikoristannya red Vikoristannya maketnih ob yektiv mozhe priv yazati yunit testi do faktichnoyi realizaciyi kodu yakij prohodit viprobuvannya Napriklad frejmvorkiv dlya yunit testuvannya dozvolyayut rozrobniku pereviryati skilki raziv i u yakomu poryadku testovanij ob yekt viklikaye maketnij ob yekt refaktoring mozhe zminiti poryadok takih viklikiv i pri tomu sho faktichno kod zalishatimetsya robochim test bude ne projdeno Taki testi nazivayut krihkimi Ce dovodit sho maketnij ob yekt maye imituvati lishe zovnishnyu povedinku spravzhnogo i ne priv yazuvatisya do detalej vnutrishnoyi realizaciyi Realizaciya red Nehaj nasha aplikaciya mistit operaciyi iz konvertuvannyam groshej U nij prisutnij nastupnij servis public interface ICurrencyExchange Task lt Money gt Convert Money originalAmount Currency destinationCurrency Shob pereviriti robotu logiki yake zalezhit na comu servisi stvorimo imitaciyu neobhidnoyi nam povedinki var mock new Mock lt ICurrencyExchange gt mock Setup x gt x Convert It IsAny lt Money gt It Is lt Currency gt c gt c Currency Euro ReturnsAsync new Money 10 Currency Euro ICurrencyExchange currencyExchange mock Object Zv yazok z inshimi paternami red Maket ob yekta ta zaglushka servisu chasto plutayut Ta varto rozumiti sho maket ob yekta vikoristovuyutsya dlya imitaciyi povedinki odniyeyi chi dekilkoh funkcij ta zalezhno vid umov cya imitaciya mozhe vidriznyatis v toj chas yak zaglushka servisu zaminyuye cilij servis ta jogo realizaciya zalishayetsya nezminnoyu Div takozh red Zaglushka servisu shablon proyektuvannya Cya stattya ne mistit posilan na dzherela Vi mozhete dopomogti polipshiti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Material bez dzherel mozhe buti piddano sumnivu ta vilucheno listopad 2013 nbsp Ce nezavershena stattya pro programuvannya Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi Otrimano z https uk wikipedia org w index php title Maket ob 27yekta amp oldid 36353403