ios-testing

v2026.09.24

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.

GitHub
Install command
npx skhub add pproenca/ios-testing
Markdown
SKILL.md

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
Discovery
Tags

No tags published for this skill.

Version
Latest version metadata

Version

v2026.09.24

Published

Sep 24, 2026

Category

Uncategorized

License

MIT

Source path

skills/.experimental/ios-testing

Default branch

master

Latest commit

cf93c57

Tree SHA

afbb575