A couple weeks ago, I gave a talk at One More Thing on What's New in Testing (that talk was recorded, and I'll update this thread once the video is edited & published). Today, I published a blog post about it.
It's a roundup of the changes to Swift Testing, XCTest, and automation tests since Swift 6.0 was released last fall, though primarily focusing on the new things being introduced for Swift 6.2/Xcode 26.
I added a section on the new Runtime Issue Detection feature for testing in Xcode. This is a huge and welcome addition, and I can't believe I missed it earlier.
Thanks @suzannaratcliff for reaching out and asking me to include a section on it!
Nice addition! Regarding this point you mentioned in the post:
One thing I would like to have the ability to do is to configure how Runtime Issue are reported for a specific test. I can see wanting to leave this set to warning, except for specific tests which check that a runtime issue has been resolved. For those tests, you would want runtime issues (or at least, the specific runtime issue the test is checking) to cause test failures. Perhaps this will be something you can do with Issue Handling Traits in Swift Testing, though I’d also like to see an option to do the same in XCTest (feel free to duplicate FB18523387).
You can do this currently by overriding the recordIssue(_:) method from XCTestCase and modifying the severity property of the passed-in XCTIssue from .warning to .error before passing the modified issue to super.recordIssue(…). You could do that conditionally, based on the content of an issue, or only scoped to particular test methods in that class—whatever makes sense for your situation.
Conceptually, that technique in XCTest is similar to what my Issue Handling Traits proposal seeks to begin supporting in Swift Testing.