Individual skill
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.
skills/.experimental/ios-testing/SKILL.md
Source commit cf93c57cac89d6fc3e4194686000411567f5caf3
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- No
- Repository scan complete
- No
- Skill scan complete
- Yes
- Observed behavior
- Not checked yet
- Last checked
- Nov 5, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 222
- Repository last updated
- Aug 15, 2026
- License
- MIT
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- testing Derived category
- engineering Derived category
- design Derived category
- writing Derived category
- data Derived category
- design-interface Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
SKILL.mdcore · 8,232 bytesassets/templates/_template.mddoc · 726 bytesmetadata.jsonasset · 1,305 bytesreferences/_sections.mddoc · 2,400 bytesreferences/arch-arrange-act-assert.mddoc · 1,555 bytesreferences/arch-constructor-injection.mddoc · 1,824 bytesreferences/arch-protocol-dependencies.mddoc · 2,041 bytesreferences/arch-single-responsibility-tests.mddoc · 2,095 bytesreferences/arch-test-target-separation.mddoc · 2,103 bytesreferences/arch-testable-import.mddoc · 2,110 bytesreferences/async-actor-testing.mddoc · 1,788 bytesreferences/async-await-directly.mddoc · 1,505 bytesreferences/async-confirmation.mddoc · 1,655 bytesreferences/async-mainactor-isolation.mddoc · 2,448 bytesreferences/async-task-cancellation.mddoc · 1,664 bytesreferences/ci-coverage-thresholds.mddoc · 2,664 bytesreferences/ci-deterministic-test-data.mddoc · 2,757 bytesreferences/ci-flaky-test-quarantine.mddoc · 2,137 bytesreferences/ci-parallel-execution.mddoc · 3,635 bytesreferences/ci-test-plans.mddoc · 2,593 bytesreferences/mock-avoid-over-mocking.mddoc · 1,707 bytesreferences/mock-dependency-container.mddoc · 2,095 bytesreferences/mock-fake-for-integration.mddoc · 2,333 bytesreferences/mock-protocol-based-mocks.mddoc · 2,389 bytesreferences/mock-spy-for-verification.mddoc · 1,931 bytesreferences/mock-stub-return-values.mddoc · 1,658 bytesreferences/snap-device-matrix.mddoc · 1,995 bytesreferences/snap-inline-snapshots.mddoc · 1,900 bytesreferences/snap-named-references.mddoc · 1,861 bytesreferences/snap-swift-snapshot-testing.mddoc · 1,702 bytesreferences/swiftui-binding-testing.mddoc · 1,567 bytesreferences/swiftui-environment-injection.mddoc · 1,874 bytesreferences/swiftui-preview-as-test.mddoc · 1,305 bytesreferences/swiftui-test-observable-models.mddoc · 1,630 bytesreferences/swiftui-view-model-extraction.mddoc · 2,211 bytesreferences/ui-accessibility-identifiers.mddoc · 1,318 bytesreferences/ui-launch-arguments.mddoc · 1,604 bytesreferences/ui-page-object-pattern.mddoc · 2,871 bytesreferences/ui-reset-state-between-tests.mddoc · 2,074 bytesreferences/ui-test-user-journeys.mddoc · 2,046 bytesreferences/ui-wait-for-elements.mddoc · 1,502 bytesreferences/unit-descriptive-test-names.mddoc · 2,033 bytesreferences/unit-expect-over-assert.mddoc · 1,638 bytesreferences/unit-parameterized-tests.mddoc · 1,971 bytesreferences/unit-require-preconditions.mddoc · 1,681 bytesreferences/unit-swift-testing-framework.mddoc · 1,783 bytesreferences/unit-test-suites.mddoc · 2,139 bytesreferences/unit-test-tags.mddoc · 1,876 bytes
Read excerpt
# 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