SwiftUI snapshot testleri nasıl oluşturulur?

0 Yanıt 17 Görüntülenme
Puanlayanlar
Katılımcılar
Konuyu Açan #1
SwiftUI Snapshot Testleri Nasıl Oluşturulur?

SwiftUI projelerinde kullanıcı arayüzlerinin beklendiği gibi görünüp görünmediğini doğrulamak, özellikle farklı cihazlar ve ekran boyutlarında tutarlılığı sağlamak adına snapshot testleri oldukça güçlü bir araçtır. Ancak, bu testleri doğru şekilde kurmak ve yönetmek, diğer test türlerine kıyasla biraz farklılık gösterebilir. İşte temel adımlar ve dikkat edilmesi gereken noktalar:

İlk olarak, snapshot testleri için uygun üçüncü taraf kütüphaneler kullanmak gerekir. En popüler olanlardan biri swift-snapshot-testing kütüphanesidir. Bu kütüphane, UIKit ve SwiftUI bileşenleri için kolayca snapshot alma ve karşılaştırma imkanı sağlar.

Kurulum aşamasında, öncelikle bu kütüphaneyi Swift Package Manager aracılığıyla projeye eklenir. Daha sonra, test klasöründe yeni bir test sınıfı oluşturarak, test edilmek istenen SwiftUI view'lerini instantiate edip, assertSnapshot fonksiyonuyla karşılaştırma yapılır. Temel örnek şu şekildedir:

KOD
123456789101112
import XCTest
import SnapshotTesting
import SwiftUI

class MyViewSnapshotTests: XCTestCase {
    func testMyViewAppearance() {
        let view = MyView()
        // Test edilen cihaz ve çözünürlük ayarlarını belirleyebilirsiniz
        assertSnapshot(matching: view, as: .image(layout: .device(config: .iPhone8)))
    }
}


Burada, assertSnapshot fonksiyonu, view'in o anki görünümünü alır ve önceden kaydedilmiş olan referans snapshot ile karşılaştırır. Bu referanslar ilk çalıştırmada otomatik oluşturulur veya manuel olarak saklanır. Eğer görünümde beklenmedik bir değişiklik olursa, test başarısız olur ve farklar detaylı şekilde gösterilir.

Dikkat edilmesi gereken noktalar arasında, testlerin farklı cihaz ve çözünürlüklerde tekrarlanması, değişikliklerin manuel onayla güncellenmesi ve testlerin sürekli güncel tutulması yer alır. Ayrıca, snapshot'ların büyük projelerde yönetimi ve temizliği için düzenli olarak eski veya kullanılmayan snapshot'ların silinmesi önemlidir.

Son olarak, snapshot testleri geliştirme döngüsü içinde görsel tutarlılığı sağlamak adına oldukça faydalıdır. Ancak, aşırı kullanımı veya yanlış yapılandırması, zamanla bakım zorluğu yaratabilir. Bu nedenle, kritik bileşenler ve UI akışları için tercih edilmesi önerilir.

Snapshot testlerini projenize entegre ederken, bu temel adımları takip ederek hem otomasyon hem de görsel kalite kontrolü sağlayabilirsiniz.

Yanıt vermek için giriş yapmış olmalısınız.

0 alıntı seçildi