Use pytest's parametrize instead of subtests #248
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.
Our use of subtests didn't remove much setup for the tests, but made it harder to target specific iterations of the tests.
Since the structure we were looping to perform the subtests fits perfectly with pytest's
parametrize
I've switched us to that. The main benefit here is that you can target each test now, using the test ids defined in the parametrize mark, for example, this is now a valid pytest invocation:This format of test name will also be printed when tests fail, so a developer can see which templates failed in the output.