What problem does it solve?
Migrating iOS test suites from XCTest to Swift Testing involves many mechanical and judgment-based transformations—imports, class-to-struct conversion, lifecycle changes, assertion rewrites, and parameterized tests—that are error-prone when done by hand. This Skill provides a step-by-step conversion procedure with Bitwarden-specific conventions.
Core Features & Use Cases
- Guided Conversion Workflow: Nine ordered steps covering imports, struct conversion, init/deinit lifecycle, @Test annotations, DocC comments, and assertion replacement with #expect and #require.
- Convertibility Screening: Identifies files that must stay in XCTest, such as ViewInspector tests, snapshot tests, UI automation, performance tests, and alert/loading-overlay assertions.
- Parameterized Test Migration: Consolidates repetitive XCTest methods into @Test(arguments:) parameterized tests using zip patterns.
- Use Case: Given a Bitwarden iOS processor test file written with XCTestCase, convert it into a Swift Testing struct with @MainActor placement, let-initialized mocks, DocC-documented @Test functions, and #expect/#require assertions, then verify with grep checks and a build.
Quick Start
Convert the XCTest file FooProcessorTests.swift to Swift Testing following the conversion steps in this skill.