mcpField
I
ios-testing

ios-testing

github.com/pproencaテスト・品質218278 回インストール11 週間前に更新
リポジトリ

ios-testing について

iOSおよびSwiftアプリのテスト設計と作成に向けたリファレンススキルで、8カテゴリにわたる規則を優先度順にまとめています。指定されたモジュール型MVVM-Cの契約に沿って、テストアーキテクチャ、単体・UIテスト、並行処理、スナップショット、CIに取り組む開発者向けです。

主な機能

  1. 018カテゴリにわたる44の優先規則
  2. 02テスト設計と単体テストの指針
  3. 03Mock・Stub・Fakeによる分離パターン
  4. 04非同期・並行処理のテスト手法
  5. 05SwiftUI・UI・スナップショットテストの指針
  6. 06CIの信頼性と実行に関する推奨事項

活用シーン

  1. 01テスト可能な依存関係とテストターゲットの設計
  2. 02非同期Swiftコードの単体テスト作成
  3. 03SwiftUIモデル、バインディング、ユーザーフローのテスト
  4. 04スナップショットテストとCI実行の設定

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/pproenca/dot-skills --skill ios-testing

インストール後、Claude Code で/ios-testingを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

metadata.json
assets/templates/
_template.md
references/
_sections.md
arch-arrange-act-assert.md
arch-constructor-injection.md
arch-protocol-dependencies.md
arch-single-responsibility-tests.md
arch-test-target-separation.md
arch-testable-import.md
async-actor-testing.md
async-await-directly.md
async-confirmation.md
async-mainactor-isolation.md
async-task-cancellation.md
ci-coverage-thresholds.md
ci-deterministic-test-data.md
ci-flaky-test-quarantine.md
ci-parallel-execution.md
ci-test-plans.md
mock-avoid-over-mocking.md
mock-dependency-container.md
mock-fake-for-integration.md
mock-protocol-based-mocks.md
mock-spy-for-verification.md
mock-stub-return-values.md
snap-device-matrix.md
snap-inline-snapshots.md
snap-named-references.md
snap-swift-snapshot-testing.md
swiftui-binding-testing.md

詳細

iOS テストのベストプラクティス

iOS および Swift アプリケーション向けの包括的なテストガイドです。プリンシパルエンジニアのレベルで記述されています。8 つのカテゴリにわたる 44 のルールを収録し、テストアーキテクチャの決定、テスト作成パターン、CI インフラストラクチャの指針となるよう、影響度順に優先順位を付けています。

Clinic アーキテクチャ契約(iOS 26 / Swift 6.2)

このスキルのすべてのガイダンスは、Clinic のモジュール型 MVVM-C アーキテクチャを前提としています。

  • Feature モジュールがインポートするのは Domain と DesignSystem のみです(Data や兄弟 Feature モジュールはインポートしません)。
  • App ターゲットが集約点となり、DependencyContainer、具体的な Coordinator、Route Shell の配線を所有します。
  • Domain は純粋な Swift を維持し、モデルに加え、リポジトリ、*Coordinating、ErrorRouting、AppError の各契約を定義します。
  • Data は SwiftData/ネットワーク/同期/再試行/バックグラウンド I/O を所有し、Domain のプロトコルを実装します。
  • 読み取り/書き込みフローでは、デフォルトで stale-while-revalidate 方式の読み取りと、楽観的なキューイング書き込みを使用します。
  • ViewModel はリポジトリのプロトコルを直接呼び出します(デフォルトのユースケース/インタラクターレイヤーは設けません)。

適用する場面

次の場合に、これらのガイドラインを参照してください。

  • iOS アプリの新しいユニットテストまたは UI テストを作成するとき
  • 依存性注入を用いたテスト可能なアーキテクチャを設計するとき
  • async/await、アクター、Combine パブリッシャーをテストするとき
  • スナップショットテストまたはビジュアルリグレッションテストスイートを設定するとき
  • CI パイプライン、テストプラン、並列実行を構成するとき

優先度別ルールカテゴリ

優先度カテゴリ影響度接頭辞
1テストアーキテクチャとテスト容易性CRITICALarch-
2ユニットテストの基礎CRITICALunit-
3テストダブルと分離HIGHmock-
4非同期処理と並行性のテストHIGHasync-
5SwiftUI のテストMEDIUM-HIGHswiftui-
6UI テストと受け入れテストMEDIUMui-
7スナップショットテストとビジュアルテストMEDIUMsnap-
8テストの信頼性と CILOW-MEDIUMci-

クイックリファレンス

1. テストアーキテクチャとテスト容易性(CRITICAL)
2. ユニットテストの基礎(CRITICAL)
3. テストダブルと分離(高)
4. 非同期処理と並行性のテスト(高)
5. SwiftUI のテスト(中〜高)
6. UI と受け入れテスト(中)
7. スナップショットとビジュアルテスト(中)
  • snap-swift-snapshot-testing - ビジュアルリグレッションには swift-snapshot-testing を使います
  • snap-device-matrix - さまざまなデバイスサイズと特性でスナップショットを撮ります
  • snap-named-references - 明確にするため、名前付きのスナップショット参照を使います
  • snap-inline-snapshots - 画像以外のアサーションにはインラインスナップショットを使います
8. テストの信頼性と CI(低〜中)

使用方法

詳しい説明とコード例については、各リファレンスファイルをご覧ください。

リファレンスファイル

ファイル説明
references/_sections.mdカテゴリーの定義と順序
assets/templates/_template.md新しいルール用のテンプレート
metadata.jsonバージョンとリファレンス情報

コメント