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.