Section 12/121 menit

12. Ringkasan

12. Ringkasan

Quick Reference

swift
// Struktur dasar
@Suite("Feature Name")
struct FeatureTests {
    let sut = SubjectUnderTest()  // tidak perlu setUp/tearDown sederhana
    
    @Test("Deskripsi test")
    func testBehavior() throws {
        let result = sut.doSomething()
        #expect(result == expected)
    }
    
    @Test("Async", .timeLimit(.seconds(5)))
    func asyncTest() async throws {
        let result = try await sut.asyncOperation()
        let value = try #require(result.optionalValue)
        #expect(value > 0)
    }
    
    @Test("Parameterized", arguments: inputs)
    func paramTest(input: InputType) {
        #expect(sut.process(input) == expected(input))
    }
}

Kapan Pilih Apa

Situasi Pilihan
Unit test baru Swift Testing
UI Test (XCUITest) XCTest (tidak ada alternatif)
Performance test (measure {}) XCTest
Parameterized test Swift Testing
Cross-platform (Linux/Windows) Swift Testing
Codebase Swift 5.9 ke bawah XCTest
Test yang perlu tag/filter Swift Testing

Dibuat: 2026-05-08 | Swift 6.0 | import Testing