Closed ematipico closed 3 months ago
Latest commit: 0ce3b62867c54c21384ae93659f0cd11bcf4921a
Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.
Click here to learn what changesets are, and how to add one.
Click here if you're a maintainer who wants to add a changeset to this PR
Do we need snapshot testing for all tests? Seems like these are rather short and can be asserted entirely with a single string. The features are also well-defined and isolated (and unlikely to have internal implementation change).
I think it's fine to leave it as is, and perhaps leave snapshots for larger file outputs only that's hard to assert and susceptible to internal implementation change.
Do we need snapshot testing for all tests? Seems like these are rather short and can be asserted entirely with a single string. The features are also well-defined and isolated (and unlikely to have internal implementation change).
That's my question from me to you, as you have more knowledge than me, background-wise. I hope you can tell me which tests don't need a snapshot and why.
From what I can tell, ALL tests use a transformation step, which is the whole point of the snapshot.
The printer tests are the ones that should be a snapshot. But from this PR it doesn't look like the old manual tests are removed. So I don't think I am following what is going on.
The printer tests are the ones that should be a snapshot. But from this PR it doesn't look like the old manual tests are removed. So I don't think I am following what is going on.
Regarding (2), I think you're saying that you find the print infrastructure useful for creating new tests. But once you've created them, there's not value in keeping them around forever, is there? If the existing printer want{}
tests are duplicates of the snapshot tests then I don't see what value we are getting from the snapshots at all. I would be fine with keeping the print test infrastructure around as a helper during development, but don't see the benefit of checking in 2 copies of a testing.
Changes
This PR adds snapshot testing to ALL tests.
I also changed a bit the way we create snapshot testing, I created an utility called
MakeSnapshot
insidetest_utils.go
, which accepts certain options to generate the snapshots.Before this PR, the snapshots were stored inside a
__snapshots__
folder, but I preferred to configure that value, and pass a specific folder for each test suite we're testing. I found dividing snapshots by test case to be nice.Testing
CI should pass
Docs
N/A