> ios-testing

Testing practices for iOS 26 / Swift 6.2 clinic modular MVVM-C applications. Covers unit/UI/snapshot testing, protocol-based mocks, async actor isolation, and dependency-injected test architecture aligned with Domain protocols, App-target composition, and Data-owned I/O boundaries. Use when writing, reviewing, or refactoring tests for ios-* and swift-* clinic modules.

fetch
$curl "https://skillshub.wtf/pproenca/dot-skills/ios-testing?format=md"
SKILL.mdios-testing

iOS Testing Best Practices

Comprehensive testing guide for iOS and Swift applications, written at principal engineer level. Contains 44 rules across 8 categories, prioritized by impact to guide test architecture decisions, test authoring patterns, and CI infrastructure.

Clinic Architecture Contract (iOS 26 / Swift 6.2)

All guidance in this skill assumes the clinic modular MVVM-C architecture:

  • Feature modules import Domain + DesignSystem only (never Data, never sibling features)
  • App target is the convergence point and owns DependencyContainer, concrete coordinators, and Route Shell wiring
  • Domain stays pure Swift and defines models plus repository, *Coordinating, ErrorRouting, and AppError contracts
  • Data owns SwiftData/network/sync/retry/background I/O and implements Domain protocols
  • Read/write flow defaults to stale-while-revalidate reads and optimistic queued writes
  • ViewModels call repository protocols directly (no default use-case/interactor layer)

When to Apply

Reference these guidelines when:

  • Writing new unit tests or UI tests for iOS apps
  • Designing testable architecture with dependency injection
  • Testing async/await, actors, and Combine publishers
  • Setting up snapshot testing or visual regression suites
  • Configuring CI pipelines, test plans, and parallel execution

Rule Categories by Priority

PriorityCategoryImpactPrefix
1Test Architecture & TestabilityCRITICALarch-
2Unit Testing FundamentalsCRITICALunit-
3Test Doubles & IsolationHIGHmock-
4Async & Concurrency TestingHIGHasync-
5SwiftUI TestingMEDIUM-HIGHswiftui-
6UI & Acceptance TestingMEDIUMui-
7Snapshot & Visual TestingMEDIUMsnap-
8Test Reliability & CILOW-MEDIUMci-

Quick Reference

1. Test Architecture & Testability (CRITICAL)

2. Unit Testing Fundamentals (CRITICAL)

3. Test Doubles & Isolation (HIGH)

4. Async & Concurrency Testing (HIGH)

5. SwiftUI Testing (MEDIUM-HIGH)

6. UI & Acceptance Testing (MEDIUM)

7. Snapshot & Visual Testing (MEDIUM)

8. Test Reliability & CI (LOW-MEDIUM)

How to Use

Read individual reference files for detailed explanations and code examples:

Reference Files

FileDescription
references/_sections.mdCategory definitions and ordering
assets/templates/_template.mdTemplate for new rules
metadata.jsonVersion and reference information

┌ stats

installs/wk0
░░░░░░░░░░
github stars80
██████████
first seenMar 17, 2026
└────────────

┌ repo

pproenca/dot-skills
by pproenca
└────────────

┌ tags

└────────────