Família XCTAssert e asserções que lançam erros
Use XCTAssertEqual, XCTAssertThrowsError e XCTUnwrap com segurança.
Família XCTAssert e asserções que lançam erros é uma aula grátis de Swift Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Swift Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Swift Academy inclui 4 aulas no total.
XCTAssert e XCTAssertTrue
XCTAssert e XCTAssertTrue falham se a condição for falsa.
XCTAssert(user.isLoggedIn)
XCTAssertTrue(cart.isEmpty, "Cart should be empty after clear()")XCTAssertFalse
XCTAssertFalse falha se a condição for verdadeira.
XCTAssertFalse(session.isExpired, "Fresh session should not be expired")XCTAssertEqual
XCTAssertEqual falha se os dois valores não forem iguais. Ambos os valores devem ser Equatable.
XCTAssertEqual(calculator.add(2, 3), 5)
XCTAssertEqual(user.name, "Alice", "Name should match the fixture")XCTAssertNotEqual
XCTAssertNotEqual falha se os dois valores forem iguais.
XCTAssertNotEqual(originalHash, updatedHash)XCTAssertNil e XCTAssertNotNil
Teste valores opcionais: falhe se o valor não for nil / for nil, respectivamente.
XCTAssertNil(service.error, "No error expected after successful fetch")
XCTAssertNotNil(result, "Result should be non-nil on success")XCTAssertThrowsError
Falhe se a expressão NOT lançar um erro. Opcionalmente, inspecione o erro lançado.
XCTAssertThrowsError(try parser.parse("invalid json")) { error in
XCTAssertEqual(error as? ParseError, .invalidInput)
}XCTAssertNoThrow
Falhe se a expressão DOES lançar um erro.
XCTAssertNoThrow(try parser.parse(validJSON))XCTUnwrap
XCTUnwrap desembrulha um valor opcional e faz o teste falhar se ele for nil — uma alternativa mais clara a guard let + XCTFail.
let user = try XCTUnwrap(service.currentUser)
XCTAssertEqual(user.name, "Bob")XCTAssertEqual com precisão
Para comparações de números de ponto flutuante, especifique um valor de precisão para considerar as limitações de precisão.
XCTAssertEqual(result, 3.14159, accuracy: 0.0001)Mensagens de falha personalizadas
Todas as funções XCTAssert aceitam um parâmetro de mensagem opcional para produzir uma saída de falha mais clara.
XCTAssertEqual(items.count, 3, "Expected 3 items after insert, got \(items.count)")XCTExpectFailure
Marque falhas esperadas para que sejam relatadas como sucessos na CI — útil para erros conhecidos, mas ainda não corrigidos.
XCTExpectFailure("Known issue: rdar://12345") {
XCTAssertEqual(brokenFunction(), expectedValue)
}Verificação rápida
Qual função do XCTest desembrulha um valor opcional com segurança e faz o teste falhar se ele for nil?
Recapitulação da lição
Família de asserções do XCTest: XCTAssert/True/False, XCTAssertEqual/NotEqual, XCTAssertNil/NotNil, XCTAssertThrowsError/NoThrow e XCTUnwrap. Sempre adicione mensagens descritivas. Use XCTExpectFailure para falhas conhecidas que estão sendo acompanhadas.
Perguntas Frequentes
A aula “Família XCTAssert e asserções que lançam erros” é grátis?
Sim — o texto completo de “Família XCTAssert e asserções que lançam erros” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Swift Academy, atualize para CoddyKit PRO. O curso de Swift Academy inclui 4 aulas no total.
O que vou aprender em “Família XCTAssert e asserções que lançam erros”?
Use XCTAssertEqual, XCTAssertThrowsError e XCTUnwrap com segurança. Você pratica Swift Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Swift Academy?
Nenhuma experiência prévia é necessária. Swift Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Família XCTAssert e asserções que lançam erros”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Swift Academy?
Sim. Cada aula de Swift Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Configuração, desmontagem e métodos de teste do XCTestCase
- Família XCTAssert e asserções que lançam erros
- Mocking baseado em protocolos e injeção de dependências
- Testes assíncronos e medição de desempenho