MakeAWishFoundation / SwiftyMocky

Framework for automatic mock generation. Adds a set of handy methods, simplifying testing. One of the best and most complete solutions, including generics support and much more.
MIT License
1.03k stars 104 forks source link

Use XCTestDynamicOverlay #345

Open ohitsdaniel opened 1 year ago

ohitsdaniel commented 1 year ago

Inspired by the work on The Composable Architecture and testing tools, I would suggest replacing the direct dependency on XCTest with XCTestDynamicOverlay. This allows to include mocks in the app target (and any non-test target), as it hides the actual XCTest implementation behind an overlay and only uses XCTest, when it can be depended on.

Steps needed:
[ ] Write a podspec for XCTestDynamicOverlay and put it on the Cocoapods package registry
[ ] Modify the template to depend on XCTestDynamicOverlay
[ ] Discuss if dropping support for macOS 10.13 / 10.14 is a feasible option
  - Option A: bump minimum deployment target
  - Option B: fork XCTestDynamicOverlay and drop the minimum deployment target down to match SwiftyMocky's minimum deployment targets

This would also make prototyping a bit easier, as the test assertions would be no-ops in app builds.