Sobes.tech
Junior — Middle

Ի՞նչ տարբերություն կա մոկ-օբյեկտների և ստաբների միջև թեստավորման համատեքստում։

sobes.tech AI

Պատասխան AI-ից

Ինքնուրույն փորձարկման համատեքստում, mock օբյեկտները (mocks) և stub-երը ծառայում են իրական կոմպոնենտների փոխարինման համար, բայց ունեն տարբեր նպատակներ:

  • Stub — պարզ օբյեկտ է, որը վերադարձնում է նախապես սահմանված տվյալներ, որպեսզի փորձարկումը կարողանա աշխատել կանխատեսելի վարքագծով: Նա չի ստուգում, թե ինչպես է հենց կանչվում, պարզապես տրամադրում է անհրաժեշտ պատասխաններ:

  • Mock — դա օբյեկտ է, որը ոչ միայն իմիտացիա է անում վարքագծի, այլ նաև ստուգում է, որ մեթոդները կանչվել են սպասված պարամետրերով և ճիշտ հերթականությամբ: Մոկերը օգտագործվում են փոխազդեցությունները ստուգելու համար:

Օրինակ՝

  • Stub-ը կարող է վերադարձնել կեղծ պատասխան ցանցային հարցումից:
  • Mock-ը կստուգի, որ հարցման մեթոդը ճիշտ մեկ անգամ կանչվել է որոշակի URL-ով:

iOS-ում, mock-եր և stub-եր ստեղծելու համար հաճախ օգտագործվում են OCMock կամ Cuckoo Framework-ները։