Sobre el proyecto

# 📸 SnapshotTesting Delightful Swift snapshot testing. Esta biblioteca te permite escribir pruebas de instantáneas para cualquier valor, en cualquier formato, en cualquier plataforma Swift. Admite vistas, controladores de vista, solicitudes URL, valores Encodable y más. ## Uso Una vez instalada, no se requiere configuración adicional. Importa el módulo `SnapshotTesting` y llama a la función `assertSnapshot`. ```swift import SnapshotTesting import Testing @MainActor struct MyViewControllerTests { @Test func myViewController() { let vc = MyViewController() assertSnapshot(of: vc, as: .image) } } ``` Cuando una aserción se ejecuta por primera vez, una instantánea se graba automáticamente en disco y la prueba falla, imprimiendo la ruta del archivo de la referencia recién grabada. Las ejecuciones repetidas de la prueba cargan esta referencia y la comparan con el valor en tiempo de ejecución. Los fallos se pueden inspeccionar desde el Report Navigator de Xcode o inspeccionando las URL de los archivos. Puedes grabar nuevas referencias personalizando las instantáneas en línea o usando la herramienta `withSnapshotTesting`. ## Instantáneas de cualquier cosa A diferencia de la mayoría de las bibliotecas de pruebas de instantáneas limitadas a `UIImage`s de `UIView`s, SnapshotTesting funciona con cualquier formato de cualquier valor en cualquier plataforma Swift. La función `assertSnapshot` acepta un valor y cualquier estrategia de instantánea que el valor admita. Las pruebas de vistas son altamente configurables. Puedes sobrescribir colecciones de rasgos y generar instantáneas independientes del dispositivo desde un solo simulador. Las estrategias de instantáneas disponibles incluyen: - `.image` para vistas y controladores de vista - `.recursiveDescription` para representación textual de jerarquías de vistas - `.raw` para solicitudes URL - `.json` y `.plist` para valores `Encodable` - `.dump` para cualquier valor usando su mirror ## Características - Docenas de estrategias de instantáneas - Escribe tus propias estrategias de instantáneas - No se requiere configuración - Más desatendido: las nuevas instantáneas se graban automáticamente - Sin subclases: realiza aserciones desde cualquier caso de XCTest o especificación de Quick - Instantáneas independientes del dispositivo - Soporte de primera clase para Xcode con diferencias de imágenes como adjuntos de XCTest - Admite cualquier plataforma que admita Swift (iOS, Linux, macOS, tvOS) - Soporte para SceneKit, SpriteKit y WebKit - Soporte de `Codable` - Integración de herramientas de diferencias personalizadas ## Instalación ### Xcode Agrega el paquete a través de Swift Packages, asegurándote de que se agregue a un target de prueba. ### Swift Package Manager Agrega el paquete como dependencia en `Package.swift` y agrega `SnapshotTesting` a tu target de prueba. ## Plug-ins Varios plug-ins de la comunidad amplían la funcionalidad, incluyendo pruebas de accesibilidad, simulación de daltonismo, pruebas de migración de bases de datos SQLite, matchers de Nimble, instantáneas de vistas previas de SwiftUI, pruebas de instantáneas HTML y más. ## Herramientas relacionadas Inspirada por `iOSSnapshotTestCase` y Jest, esta biblioteca lleva las pruebas de instantáneas generalizadas a Swift con una experiencia de usuario pulida. ## Licencia Publicada bajo la licencia MIT.