ycliper

Популярное

Музыка Кино и Анимация Автомобили Животные Спорт Путешествия Игры Юмор

Интересные видео

2025 Сериалы Трейлеры Новости Как сделать Видеоуроки Diy своими руками

Топ запросов

смотреть а4 schoolboy runaway турецкий сериал смотреть мультфильмы эдисон
Скачать

Curso Kotlin Multiplatform #22: Screenshot Testing con Roborazzi

Автор: Carlosgub

Загружено: 2026-02-09

Просмотров: 41

Описание: En esta entrega elevamos el estándar de calidad visual de nuestro proyecto. Tras haber asegurado la lógica de negocio y la cobertura de código, integramos Paparazzi, una herramienta potente para realizar Screenshot Testing. Aprenderemos a validar nuestra interfaz de usuario de forma automática, asegurando que cada componente de Compose Multiplatform se vea exactamente como esperamos en Android e iOS sin necesidad de emuladores.

NOTAS DE LA CLASE:

¿QUÉ ES EL SCREENSHOT TESTING Y POR QUÉ USAR PAPARAZZI?
El Screenshot Testing es una técnica que consiste en capturar una imagen de un componente de la UI y compararla con una imagen de referencia (Golden Image) para detectar cambios visuales inesperados. Utilizamos Paparazzi porque nos permite ejecutar estos tests directamente en la JVM mediante Robolectric, lo que resulta en una ejecución extremadamente rápida y eficiente sin la sobrecarga de un emulador o dispositivo real.

CONFIGURACIÓN DE PAPARAZZI Y ROBOLECTRIC
Aprendemos a configurar el plugin de Paparazzi en nuestro catálogo de versiones y archivos de Gradle. Explicamos por qué Robolectric es fundamental para "simular" el entorno de Android en la JVM, permitiendo que Paparazzi renderice nuestros componentes de Compose de forma precisa y veloz para generar los reportes visuales.

GENERACIÓN DE REFERENCIAS Y VALIDACIÓN
Vemos paso a paso cómo ejecutar la tarea recordPaparazzi para crear nuestras imágenes base y verifyPaparazzi para validar futuros cambios. Analizamos cómo interpretar los fallos cuando la UI cambia, permitiéndonos mantener una consistencia visual perfecta en la App de Rick & Morty a medida que el proyecto crece.

🔗 Enlaces del Proyecto:

📂 Repositorio: https://github.com/carlosgub/Rick-And...
📂 Repositorio: Roborazzi: https://github.com/takahirom/roborazzi
📂 Repositorio: Roboelectric: https://github.com/robolectric/robole...
📂 Repositorio: Composable Preview Scanner: https://github.com/sergio-sastre/Comp...
📂 Commit de esta clase: https://github.com/carlosgub/Rick-And...
▶️ Curso Completo (Playlist):    • Kotlin Multiplatform  
🧬 Rick & Morty API: https://rickandmortyapi.com/documenta...
▶️ Video de Sergio:    • Automating Screenshot Testing in Compose M...  
#Kotlin #KMP #ScreenshotTesting #Paparazzi #ComposeMultiplatform #UIUX #AndroidDev #iosdev

00:00 Introducción al UI Screenshot Testing
00:38 Robolectric + Roborazzi: configuración inicial
02:46 Agregando dependencias para Screenshot Testing
05:52 Configuración del Android Unit Test
08:34 Creando PreviewScreenshotTest paso a paso
11:49 Ejecutar tests automáticos por cada @Preview
13:07 Generando Golden Images (Baseline)
14:55 Detectando cambios visuales en Compose
17:05 Comparación de imágenes y reportes visuales
19:53 Validación visual automática en proyectos reales

Не удается загрузить Youtube-плеер. Проверьте блокировку Youtube в вашей сети.
Повторяем попытку...
Curso Kotlin Multiplatform #22: Screenshot Testing con Roborazzi

Поделиться в:

Доступные форматы для скачивания:

Скачать видео

  • Информация по загрузке:

Скачать аудио

Похожие видео

Curso Kotlin Multiplatform #23: Ktlint y Compose Rules

Curso Kotlin Multiplatform #23: Ktlint y Compose Rules

Мир AI-агентов уже наступил. Что меняется прямо сейчас

Мир AI-агентов уже наступил. Что меняется прямо сейчас

Kotlin Multiplatform

Kotlin Multiplatform

Создание пользовательского интерфейса терминала для Spring Initializr с использованием Java.

Создание пользовательского интерфейса терминала для Spring Initializr с использованием Java.

Curso Kotlin Multiplatform #20: Testing de ViewModels y Mocking de Datos

Curso Kotlin Multiplatform #20: Testing de ViewModels y Mocking de Datos

Введение в MCP | Протокол MCP - 01

Введение в MCP | Протокол MCP - 01

Андрей Захаров о блокировке Telegram: почему Z-блогеры против и как власти договариваются с Дуровым

Андрей Захаров о блокировке Telegram: почему Z-блогеры против и как власти договариваются с Дуровым

Curso Kotlin Multiplatform #18: Cómo testear APIs con Ktor Mock Client

Curso Kotlin Multiplatform #18: Cómo testear APIs con Ktor Mock Client

Как учиться быстро и самому? На примере языков  программирования.

Как учиться быстро и самому? На примере языков программирования.

Последнее условие для начала новой мобилизации. Дмитрий Орешкин

Последнее условие для начала новой мобилизации. Дмитрий Орешкин

TypeScript 6: критические изменения, о которых вам нужно знать

TypeScript 6: критические изменения, о которых вам нужно знать

Google увольняет, Нейросеть для умерших, Суверенный европейский процессор | Как Там АйТи #86

Google увольняет, Нейросеть для умерших, Суверенный европейский процессор | Как Там АйТи #86

ПОКАЗЫВАЮ день из жизни QA тестировщика! / Чем ЗАНИМАЕТСЯ тестировщик на самом деле?

ПОКАЗЫВАЮ день из жизни QA тестировщика! / Чем ЗАНИМАЕТСЯ тестировщик на самом деле?

Крупное обновление GO 1.26

Крупное обновление GO 1.26

LLM и GPT - как работают большие языковые модели? Визуальное введение в трансформеры

LLM и GPT - как работают большие языковые модели? Визуальное введение в трансформеры

400 часов вайб-кодинга: всё, что нужно знать | Claude, GPT, агенты

400 часов вайб-кодинга: всё, что нужно знать | Claude, GPT, агенты

Curso Kotlin Multiplatform #24: CI con GitHub Actions 🚀

Curso Kotlin Multiplatform #24: CI con GitHub Actions 🚀

Запуск нейросетей локально. Генерируем - ВСЁ

Запуск нейросетей локально. Генерируем - ВСЁ

Будет ли война в Европе? Как готовят общество разных стран к тому, что война неизбежна? Ищем выход

Будет ли война в Европе? Как готовят общество разных стран к тому, что война неизбежна? Ищем выход

Лучший Гайд по Kafka для Начинающих За 1 Час

Лучший Гайд по Kafka для Начинающих За 1 Час

© 2025 ycliper. Все права защищены.



  • Контакты
  • О нас
  • Политика конфиденциальности



Контакты для правообладателей: [email protected]