0Pricing
Swift Academy · Lección

Familia XCTAssert y aserciones que lanzan errores

Utilice XCTAssertEqual, XCTAssertThrowsError y XCTUnwrap de forma segura.

Familia XCTAssert y aserciones que lanzan errores es una lección gratuita de Swift Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Swift Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Swift Academy incluye 4 lecciones en total.

XCTAssert y XCTAssertTrue

XCTAssert y XCTAssertTrue producen un fallo si la condición es falsa.

XCTAssert(user.isLoggedIn)
XCTAssertTrue(cart.isEmpty, "Cart should be empty after clear()")

XCTAssertFalse

XCTAssertFalse produce un fallo si la condición es verdadera.

XCTAssertFalse(session.isExpired, "Fresh session should not be expired")

XCTAssertEqual

XCTAssertEqual produce un fallo si los dos valores no son iguales. Ambos valores deben ser Equatable.

XCTAssertEqual(calculator.add(2, 3), 5)
XCTAssertEqual(user.name, "Alice", "Name should match the fixture")

XCTAssertNotEqual

XCTAssertNotEqual produce un fallo si los dos valores son iguales.

XCTAssertNotEqual(originalHash, updatedHash)

XCTAssertNil y XCTAssertNotNil

Pruebe optionals: produzca un fallo si el valor no es nil o si es nil, respectivamente.

XCTAssertNil(service.error, "No error expected after successful fetch")
XCTAssertNotNil(result, "Result should be non-nil on success")

XCTAssertThrowsError

Produce un fallo si la expresión NO lanza un error. Opcionalmente, inspeccione el error lanzado.

XCTAssertThrowsError(try parser.parse("invalid json")) { error in
  XCTAssertEqual(error as? ParseError, .invalidInput)
}

XCTAssertNoThrow

Produce un fallo si la expresión SÍ lanza un error.

XCTAssertNoThrow(try parser.parse(validJSON))

XCTUnwrap

XCTUnwrap desenvuelve un Optional y produce un fallo en la prueba si es nil; es más limpio que usar guard let y XCTFail.

let user = try XCTUnwrap(service.currentUser)
XCTAssertEqual(user.name, "Bob")

XCTAssertEqual con precisión

Para comparar números de coma flotante, especifique un valor de precisión que tenga en cuenta los errores de precisión.

XCTAssertEqual(result, 3.14159, accuracy: 0.0001)

Mensajes de error personalizados

Todas las funciones XCTAssert aceptan un parámetro de mensaje opcional para mostrar información de error más clara.

XCTAssertEqual(items.count, 3, "Expected 3 items after insert, got \(items.count)")

XCTExpectFailure

Marque los fallos esperados para que se notifiquen como éxitos en CI; resulta útil para errores conocidos que aún no se han corregido.

XCTExpectFailure("Known issue: rdar://12345") {
  XCTAssertEqual(brokenFunction(), expectedValue)
}

Comprobación rápida

¿Qué función de XCTest desenvuelve de forma segura un Optional y produce un fallo en la prueba si es nil?

Resumen de la lección

Familia de aserciones de XCTest: XCTAssert/True/False, XCTAssertEqual/NotEqual, XCTAssertNil/NotNil, XCTAssertThrowsError/NoThrow y XCTUnwrap. Añada siempre mensajes descriptivos. Use XCTExpectFailure para los fallos conocidos registrados.

Preguntas frecuentes

¿La lección «Familia XCTAssert y aserciones que lanzan errores» es gratis?

Sí — el texto completo de «Familia XCTAssert y aserciones que lanzan errores» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Swift Academy, actualiza a CoddyKit PRO. El curso de Swift Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Familia XCTAssert y aserciones que lanzan errores»?

Utilice XCTAssertEqual, XCTAssertThrowsError y XCTUnwrap de forma segura. Practicas Swift Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Swift Academy?

No se requiere experiencia previa. Swift Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Familia XCTAssert y aserciones que lanzan errores»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Swift Academy?

Sí. Cada lección de Swift Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Configuración, desmontaje y métodos de prueba de XCTestCase
  2. Familia XCTAssert y aserciones que lanzan errores
  3. Mocking basado en protocolos e inyección de dependencias
  4. Pruebas asíncronas y medición del rendimiento
← Volver a Swift Academy