Migrating from XCTest to Swift Testing is straightforward for the most part, but it sometimes faces issues that are not easy to resolve.
Swift Testing has no equivalent to XCTAssertEqual(_:_:accuracy:).
Implicitly Unwrapped Optionals are handled a bit better in Swift Testing but it still requires their use.
Swift Testing allows only one confirmation to be awaited at a time and does not run the run loop while waiting.
Parallel Tests run in the same process with Swift Testing, leading to issues with global state.
Using task-local properties seems to be the solution, but issues such as deployment targeting and concise setting of task-local values while setting up tests arise.
Conditional compilation errors can arise when using Swift Concurrency only during testing.
Assignments in setUpWithError() are not possible with Swift Testing, as @TaskLocal can only be used with closures.
Workarounds such as assigning values to properties in every test method or creating a hook like in XCTest are viable but can be burdensome.