Section 8/121 menit
8. Kapan Harus Digunakan
8. Kapan Harus Digunakan
Gunakan Swift Testing untuk:
1. Semua unit test baru
swift
// Default choice untuk test baru di Swift 6+
@Test("Business logic")
func calculateDiscount() {
let discount = PricingEngine.discount(for: .premium, amount: 100)
#expect(discount == 20)
}
2. Test dengan banyak kombinasi input
swift
// Parameterized test jauh lebih expressive dari XCTest
@Test("Discount tiers", arguments: [
(tier: UserTier.basic, amount: 100.0, expectedDiscount: 5.0),
(tier: .premium, amount: 100.0, expectedDiscount: 20.0),
(tier: .vip, amount: 100.0, expectedDiscount: 35.0),
])
func discountByTier(tier: UserTier, amount: Double, expected: Double) {
#expect(PricingEngine.discount(for: tier, amount: amount) == expected)
}
3. Test yang butuh grouping dan tagging yang baik
swift
@Suite("Payment", .tags(.critical))
struct PaymentTests { ... }
4. Test di Swift Package (cross-platform)
swift
// Swift Testing berjalan di macOS, iOS, Linux, Windows
// XCTest tidak berjalan di Linux/Windows