Give your simulator superpowers

RocketSim: An Essential Developer Tool
as recommended by Apple

Swift Testing explained with code examples

Swift Testing is the modern framework for writing tests in Swift, built around expressive macros like @Test, #expect, and #require. It's the successor to XCTest and the default testing framework for new projects in Xcode. Instead of dozens of assertion methods, you work with a single expressive macro that tells ...
Swift Testing

Swift Testing Agent Skill: Write high quality tests with AI

Swift Testing is the standard for writing tests in Swift, but it's not always applied correctly in agentic development. I've felt the pain myself while working more and more with agents, and decided to convert all my Swift Testing articles into a new agent skill. I also looked up latest ...
AI DevelopmentSwift Testing

Parameterized tests in Swift: Reducing boilerplate code

Parameterized tests allow you to run a single test with multiple input parameters without adding much boilerplate code. For example, you might want to run a unit test for all cases of an enum. You can specify a collection of elements to use as input for the unit test, after ...
Swift Testing

Using the #require macro for Swift Testing

Swift Testing is Apple's modern replacement library for XCTest and introduces new macros like #require. We've covered the #expect macro before and are about to dive into its companion to set requirements for a given test. Each #require macro needs to pass for a test to continue. It's kind of ...
Swift Testing

Vapor and Swift Testing: Running tests in parallel

Swift on the Server and Vapor go hand in hand, but using Swift Testing can be challenging initially. Tests run in parallel by default, and it's likely that your tests are running against a localhost database, which requires serial execution of tests. Running tests in parallel drastically improves performance. The ...
Swift Testing

Using the #expect macro for Swift Testing

Swift Testing is Apple's Swift framework for writing tests and introduces several macros, including the #expect macro. Where we had to use all kinds of XCAssert variations before, we can now rely on a powerful replacement that will help us debug tests more quickly. Before exploring this specific feature of ...
Swift Testing

Using Traits to annotate and customize test behavior

Traits allow you to customize or annotate tests using the Swift Testing framework announced at WWDC 2024. They also allow you to configure common behaviors, like runtime evaluated conditions, to skip certain tests. Before exploring this specific feature of Swift Testing, I encourage you to read my introduction to Swift ...
Swift Testing