Contenido del curso
Unit Testing con XCTest
- 2

Pruebas Unitarias con XC Test en Desarrollo de Apps SWIFT
04:07 min - 3

Tests asíncronos con XCTest en Swift
11:22 min - 4

Pruebas Unitarias para View Models en Swift
06:40 min - 5

Testing de Software: Estrategias y Configuración en Xcode
08:37 min - 6

Mocks y stubs para unit tests en Swift
08:58 min - 7

Pruebas Unitarias en Home View Model: Implementación y Validación
10:16 min
Integration testing
UI Testing con SwiftUI y XCTest
Reporte y Optimización de Calidad
Code coverage en Xcode paso a paso
Resumen
Medir el code coverage en Xcode te permite saber qué tan bien cubiertos están tus tests sin salir del IDE. Esta guía es para desarrolladores iOS que ya escriben pruebas unitarias y quieren monitorear la cobertura real de su código mientras iteran nuevas funciones.
¿Dónde encuentro el reporte de code coverage en Xcode?
Xcode integra un panel de reportes que muestra el historial de pruebas ejecutadas y su cobertura. Para llegar ahí, vas a la última pestaña del Report Navigator y seleccionas la corrida de tests más reciente.
Dentro de ese reporte verás varios datos útiles:
- Cantidad de tests ejecutados y cuántos pasaron.
- Una pestaña de insights con patrones detectados en proyectos grandes.
- Una pestaña de coverage con el desglose por archivo.
¿Qué es el code coverage? Es el porcentaje de líneas de tu código que están siendo ejecutadas por tus tests. Sirve como termómetro para saber qué partes de tu app realmente estás validando.
En proyectos pequeños la pestaña de insights puede aparecer vacía, y eso es normal. El verdadero valor está en la sección de coverage.
¿Cómo interpreto el porcentaje de cobertura por archivo?
La pestaña de coverage desglosa cada archivo del proyecto, sus funciones y variables, mostrando qué porcentaje está cubierto por tus pruebas. Por ejemplo, al revisar el HomeViewModel, el reporte marcaba un 94% de cobertura, un nivel bastante óptimo para un view model trabajado a fondo.
La función que bajaba ese porcentaje era reorganizeFilters. Y aquí viene lo interesante: al hacer clic en la flecha junto a la función, Xcode abre el archivo y resalta visualmente las líneas.
- En verde aparece lo que sí estás testeando bien.
- En rojo aparecen los casos que aún no cubres.
En el ejemplo, el código rojo correspondía a los filterItems, un enum con varios casos de uso. Para cerrar esa brecha tendrías que escribir un test por cada caso del enumerable.
¿Cómo aumento mi code coverage? Identifica las líneas en rojo dentro del reporte de Xcode y escribe un test específico para cada caso no cubierto, especialmente cuando trabajas con enums o estructuras condicionales.
¿Debo buscar siempre el 100% de code coverage?
No. El porcentaje ideal de cobertura lo defines tú según tu flujo de trabajo y tu estrategia de testing. No tiene sentido testear cada línea de la aplicación; lo valioso es cubrir aquellas partes que aportan información útil cuando construyes nuevas features.
Piensa el code coverage como una brújula, no como una meta absoluta. Te dice dónde tu lógica crítica está expuesta y dónde puedes invertir más esfuerzo de pruebas.
¿Qué porcentaje de code coverage es bueno? Depende del proyecto, pero un rango entre 70% y 90% suele ser saludable para código de negocio. Lo importante es cubrir la lógica crítica, no inflar el número.
Si quieres practicar, intenta completar los tests faltantes de reorganizeFilters cubriendo cada caso de los filterItems y cuéntame en los comentarios qué porcentaje lograste alcanzar.