Swift:
Escrevendo testes

Como fazer:

Swift suporta testes por meio de seu framework XCTest, que é integrado ao Xcode. Você pode escrever testes de unidade para verificar partes individuais do seu código, por exemplo, uma função que calcula a soma de dois números.

import XCTest
@testable import SuaApp

class TestesDaSuaApp: XCTestCase {

    func testaSoma() {
        let resultado = Calculadora().soma(a: 1, b: 2)
        XCTAssertEqual(resultado, 3, "A função de soma não retornou o valor esperado.")
    }
}

Para rodar este teste, você normalmente pressionaria Command-U no Xcode. A saída no navegador de testes do Xcode dirá se o teste foi aprovado ou reprovado.

Por exemplo, uma saída de teste bem-sucedida:

Test Case '-[TestesDaSuaApp testaSoma]' passed (0.005 seconds).

Para cenários de teste mais avançados, você pode adotar bibliotecas de terceiros como Quick/Nimble, que oferecem uma sintaxe mais expressiva para escrever testes.

Com Quick/Nimble, você poderia escrever o mesmo teste assim:

// Adicione Quick e Nimble ao seu gerenciador de pacotes Swift ou use CocoaPods/Carthage para instalá-los
import Quick
import Nimble
@testable import SuaApp

class EspecCalculadora: QuickSpec {
    override func spec() {
        describe("Calculadora") {
            context("ao somar números") {
                it("deve retornar a soma correta") {
                    let calculadora = Calculadora()
                    expect(calculadora.soma(a: 1, b: 2)).to(equal(3))
                }
            }
        }
    }
}

Rodar este teste daria uma saída similar no seu console de teste ou log da ferramenta de CI/CD, indicando se o teste foi bem-sucedido ou não, com um formato mais legível para descrever testes e expectativas.