DoorDash migrated its iOS shared codebase from XCTest to Swift Testing, achieving ~60% faster CI test steps and ~40% faster overall builds. The team built a migration environment using Cursor (AI coding assistant), SweetPad (VS Code/Cursor extension for Apple platform development), and a custom MCP server to automate mechanical code transformations. A Cursor rule handled API replacements (XCTAssert* → #expect, XCTestCase → struct + @Suite, etc.), while Bazel and SweetPad provided a reliability gate requiring 10 consecutive clean test runs per package. The migration exposed previously hidden flaky tests caused by XCTest's sequential execution model, which Swift Testing's parallel-by-default approach revealed. Results include CI cost savings of several thousand dollars annually, multiple engineer-days per week reclaimed, and 90% coverage of shared iOS modules migrated with no regressions.
Table of contents
Planning the migrationStay Informed with Weekly UpdatesPlease enter a valid email address.Thank you for Subscribing!Bazel encoded into the migration promptWhy the migration exposed flaky testsResult: Faster CI and happier developersLessons learnedNext upJoin usSort: