Sobes.tech
Junior — Middle

Туркиб кардани таҷрибаи истифодаи объектҳои мок дар санҷишҳо

sobes.tech AI

Ҷавоб аз AI

Объектҳои мок (mock objects) дар тестҳои автоматӣ барои ҷудо кардани компоненте, ки санҷида мешавад, аз вобастагиҳои беруна васеъ истифода мешаванд.

Таҷрибаи истифода аз онҳо дар бар мегирад:

  • Ҷойгузинии вобастагиҳои воқеӣ (масалан, базаҳои додаҳо, хидматҳои веб) бо мокҳо барои назорати рафтор ва суръат бахшидани тестҳо.
  • Танзими мокҳо барои баргардонидани арзишҳои муайян ё истеҳсоли истисноҳо барои санҷиши коркарди сценарияҳои гуногун.
  • Санҷиши зангҳои методҳои мокҳо (масалан, чанд маротиба ва бо кадом параметрҳо занг зада шуд).

Масалан бо Mockito (Java):

// Эҷоди мок
List<String> mockedList = Mockito.mock(List.class);

// Танзими рафтор
Mockito.when(mockedList.get(0)).thenReturn("аввалин унсур");

// Истифода
String element = mockedList.get(0);  // Баргардонанд "аввалин унсур"

// Санҷиши занг
Mockito.verify(mockedList).get(0);

Тавре ки мебинем, мокҳо кӯмак мекунанд, ки тестҳои ягонаи боэътимод ва суръатнок нависем, ки ба мантиқи коди санҷидашуда тамаркуз мекунанд, на ба хидматҳои беруна.