Cleanup tests with new snapshot method #122
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.
output
directory and make--clean
a little safer #88Prior to now, the tests would generate and assert snapshots in a relatively verbose way which gets tricky around file paths. This would make my job harder when adjusting behaviour on #88 so instead I decided to clean things up a little.
In this change, I introduce a new
snapshot(spec:name:arguments:congifuration:)
method and called it in every single test method.This method then internally handles the
--output
path and adds a temporary workaround to account for the inconsistencies between--package
and--module
.Additionally, this method works to separate the concept of a 'name' and 'package'. Currently, every generated snapshot has a different package name because package name == directory name.
Moving forward, we'll also break that concept so that name == test name and package name == whatever you provide (it doesn't really matter). By doing this, we can use
#function
and it'll make things simpler. I'll do that in a separate change though.I also renamed
GenerateBaseTests
toGenerateTestCase
to better distinguish that it's not tests but in fact anXCTestCase
subclass/base class to be used by Generate related tests.