Junior — Middle
ტესტირების კონტექსტში mock ობიექტებსა და სტაბებს შორის რა განსხვავებაა?
sobes.tech AI
პასუხი AI-სგან
ტესტირების კონტექსტში, mock ობიექტები (mocks) და stub-ები რეალურ კომპონენტებს იცვლიან, მაგრამ სხვადასხვა მიზნებით:
-
Stub — ეს არის მარტივი ობიექტი, რომელიც წინასწარ განსაზღვრულ მონაცემებს აბრუნებს, რათა ტესტი მუშაობდეს პროგნოზირებადი ქცევით. ის არ ამოწმებს, როგორ არის ზუსტად გამოძახებული, უბრალოდ უზრუნველყოფს საჭირო პასუხებს.
-
Mock — ეს არის ობიექტი, რომელიც არა მხოლოდ იმიტირებს ქცევას, არამედ ამოწმებს, რომ მეთოდები გამოძახებულია ელოდებოდან პარამეტრებით და სწორ წესრიგში. Mocks გამოიყენება ურთიერთქმედებების შემოწმებისთვის.
მაგალითი:
- Stub შეიძლება დააბრუნოს ყალბი პასუხი ქსელური მოთხოვნიდან.
- Mock შეამოწმებს, რომ მოთხოვნის მეთოდი ზუსტად ერთხელ არის გამოძახებული კონკრეტული URL-ით.
iOS-ში, mock-ებისა და stub-ების შექმნისთვის ხშირად გამოიყენება OCMock ან Cuckoo Framework-ები.