[4/y] Enable mocking sources in test bundles #286
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Stack
π #287 [5/y] Improve static mocking APIs
π #286 β [4/y] Enable mocking sources in test bundles
π #285 [3/y] Fix read-only subscripts
π #284 [2/y] Fix warnings in throwing initializers
π #283 [1/y] Add backwards compatibility with Swift 5.5
Overview
Itβs uncommon, but possible, to need to mock types defined in a test bundle. For example, one use case is supplying a common set of default implementations for partial mocking. A non-typical case is mocking types in test bundle A and using them in test bundle B, which is straightforward to set up in SwiftPM / JSON project descriptions but not so much with an Xcode project.
To simplify the automatic setup process and reduce potential user errors, the configurator will continue to validate that the configuration target is a test bundle and each source target is not a test bundle. Advanced users can modify the build phase manually to bypass this as needed.
Test Plan
Ran the generator against the
MockingbirdTests
target with various thunk pruning levels.