pointfreeco / swift-snapshot-testing

📸 Delightful Swift snapshot testing.
https://www.pointfree.co/episodes/ep41-a-tour-of-snapshot-testing
MIT License
3.68k stars 556 forks source link

Sketch for supporting Swift Testing #865

Closed DavidBrunow closed 1 week ago

DavidBrunow commented 1 week ago

An initial look at what support for Swift Testing could look like. Without this change, tests always pass because XCTFail does not fail Swift Testing tests.

Known issues:

mbrandonw commented 1 week ago

Hi @DavidBrunow, thanks for starting this!

However, there is still a lot more work to be done. Currently we use test observers in a few spots (e.g. here and here), and currently swift-testing has no concept whatsoever of test observers. There are plans for it, but in the meantime we are going to have to approximate that concept with "custom execution" traits, which are currently an @_spi experimental feature of swift-testing.

We are also deep in the process of updating all of our libraries to be swift-testing compliant, and we have some really exciting things to share soon. But for the time being I think there's too many additional things to think about before we can accept a PR like this. How do you feel about closing this PR and starting a discussion instead?

DavidBrunow commented 1 week ago

Hi @DavidBrunow, thanks for starting this!

However, there is still a lot more work to be done. Currently we use test observers in a few spots (e.g. here and here), and currently swift-testing has no concept whatsoever of test observers. There are plans for it, but in the meantime we are going to have to approximate that concept with "custom execution" traits, which are currently an @_spi experimental feature of swift-testing.

We are also deep in the process of updating all of our libraries to be swift-testing compliant, and we have some really exciting things to share soon. But for the time being I think there's too many additional things to think about before we can accept a PR like this. How do you feel about closing this PR and starting a discussion instead?

Done! Sorry for the noise here – I regularly forget about the Discussions feature.