Sobes.tech
Junior — Middle

Оё шумо аллакай бо навиштани тестҳо бо истифода аз тестҳои snapshot рӯ ба рӯ шудаед?

sobes.tech AI

Ҷавоб аз AI

Бале, тестҳои тасвирӣ (snapshot) дар iOS одатан барои санҷиши ҳолати визуалии компонентҳои UI истифода мешаванд. Ҳикоя ин аст, ки дар иҷрои аввал, тасвир (snapshot) аз интерфейс сабт мешавад ва дар иҷроҳои баъдӣ бо ҳолати ҳозира муқоиса карда мешавад. Агар фарқиятҳо вуҷуд дошта бошанд, тест ноком мешавад, ки кӯмак мекунад зуд тағиротҳои нолозимро дар UI ошкор кардан.

Масалан бо китобхонаи iOS Snapshot Testing:

import SnapshotTesting
import XCTest

class MyViewTests: XCTestCase {
    func testMyViewSnapshot() {
        let view = MyCustomView(frame: CGRect(x: 0, y: 0, width: 200, height: 200))
        assertSnapshot(matching: view, as: .image)
    }
}

Ин усул барои назорати регрессияҳои визуалӣ, махсусан дар кор бо унсурҳои интерфейси махсус, муфид аст.