pluginagentmarketplace/custom-plugin-ios · Archived

ios-testing

Master iOS testing - XCTest, UI testing, mocking, debugging, performance

First seen Feb 7, 2026

Installation

$ npx skills add pluginagentmarketplace/custom-plugin-ios --skill ios-testing

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from pluginagentmarketplace/custom-plugin-ios.

npx skills add pluginagentmarketplace/custom-plugin-ios

Browse all from pluginagentmarketplace/custom-plugin-ios

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 1
License LICENSE
Default branch main
Open issues 0
Status Archived

Skill metadata

Parsed from SKILL.md frontmatter.

Version2.0.0

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,919 B
  • docs SUMMARY.md 91 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 2 installs

SKILL.md

iOS Testing Skill

Build reliable iOS apps with comprehensive testing

Learning Objectives

By completing this skill, you will:

  • Write effective unit tests with XCTest
  • Create reliable UI tests
  • Implement proper mocking strategies
  • Debug efficiently with Instruments
  • Achieve high code coverage

Prerequisites

Requirement Level
iOS Fundamentals Completed
Swift Intermediate
MVVM pattern Basic

Curriculum

Module 1: XCTest Fundamentals (4 hours)

Topics:

  • XCTestCase structure
  • Assertions library
  • Test lifecycle (setUp/tearDown)
  • Async testing

Code Example:

final class UserViewModelTests: XCTestCase {
    private var sut: UserViewModel!
    private var mockService: MockUserService!

    override func setUp() {
        super.setUp()
        mockService = MockUserService()
        sut = UserViewModel(service: mockService)
    }

    func test_loadUser_success() async {
        mockService.result = .success(.mock())

        await sut.loadUser(id: "123")

        XCTAssertNotNil(sut.user)
        XCTAssertFalse(sut.isLoading)
    }
}

Module 2: Mocking & Test Doubles (4 hours)

Topics:

  • Protocol-based mocking
  • Spy, stub, fake patterns
  • Dependency injection for testing
  • Fixtures and factories

Module 3: UI Testing (5 hours)

Topics:

  • XCUIApplication setup
  • Element queries
  • Accessibility identifiers
  • Page Object pattern
  • Handling flaky tests

Module 4: Debugging (4 hours)

Topics:

  • LLDB commands
  • Breakpoints (symbolic, conditional)
  • View Debugger
  • Memory Graph Debugger

Module 5: Performance Testing (3 hours)

Topics:

  • XCTMetric usage
  • Time Profiler
  • Allocations instrument
  • Leaks detection

Module 6: CI Integration (3 hours)

Topics:

  • Xcode Cloud setup
  • GitHub Actions
  • Code coverage reports
  • Test parallelization

Assessment Criteria

Criteria Weight
Unit test quality 30%
Mock implementation 20%
UI test reliability 25%
Debugging skills 15%
CI integration 10%

Coverage Targets

Component Target
ViewModels 90%+
Services 85%+
Utils 95%+
Views 70%+

Common Mistakes

  1. Testing implementation → Test behavior instead
  2. Flaky UI tests → Use waitForExistence
  3. Missing tearDown → Clean up resources
  4. Slow tests → Use mocks, avoid network

Skill Validation

  1. Test Suite: 80% coverage on sample project
  2. Mock Library: Reusable mock implementations
  3. UI Test Flow: End-to-end login flow
  4. Performance Baseline: Measure scroll performance