Swift:
Pisanie testów

Jak to zrobić:

Swift wspiera testowanie poprzez swoje środowisko XCTest, które jest zintegrowane z Xcode. Można pisać testy jednostkowe w celu weryfikacji indywidualnych części kodu, na przykład funkcji, która oblicza sumę dwóch liczb.

import XCTest
@testable import TwojaAplikacja

class TestyTwojejAplikacji: XCTestCase {

    func testSumy() {
        let wynik = Kalkulator().suma(a: 1, b: 2)
        XCTAssertEqual(wynik, 3, "Funkcja sumująca nie zwróciła oczekiwanej wartości.")
    }
}

Aby uruchomić ten test, zwykle naciska się Command-U w Xcode. Wyjście w nawigatorze testów Xcode powie Ci, czy test przeszedł pomyślnie, czy nie.

Na przykład, pomyślne wyjście testu:

Przypadek testowy '-[TestyTwojejAplikacji testSumy]' zakończony sukcesem (0.005 sekund).

W przypadku bardziej zaawansowanych scenariuszy testowych możesz korzystać z bibliotek firm trzecich takich jak Quick/Nimble, które oferują bardziej ekspresyjną składnię do pisania testów.

Z Quick/Nimble możesz napisać ten sam test w następujący sposób:

// Dodaj Quick i Nimble do menedżera pakietów Swift lub użyj CocoaPods/Carthage, aby je zainstalować
import Quick
import Nimble
@testable import TwojaAplikacja

class SpecyfikacjaKalkulatora: QuickSpec {
    override func spec() {
        describe("Kalkulator") {
            context("kiedy sumuje liczby") {
                it("powinien zwrócić poprawną sumę") {
                    let kalkulator = Kalkulator()
                    expect(kalkulator.suma(a: 1, b: 2)).to(equal(3))
                }
            }
        }
    }
}

Uruchomienie tego testu dałoby Ci podobne wyjście w konsoli testowej lub logu narzędzia CI/CD, wskazujące, czy test się powiódł czy nie, z bardziej czytelnym formatem opisującym testy i oczekiwania.