[6.x] Adds assertJsonPath
to TestResponse
#29957
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.
In our test we want to assert the following:
ecrmnn
First!
and the body of the second comment isThis is my comment
Given the following response from our
Post
API:The problem
Using
assertEquals
-
Forces us to create a temporary variable-
Assertions are not chainableUsing
assertExactJson
-
Can not ignore irrelevant data-
Forces us to provide the entire response to make three simple assertionsUsing
assertJsonFragment
-
We don't know if the first or the second user is the one namedecrmnn
-
Unable to assert on the body of the first and second commentThe solution
This PR introduces
assertJsonPath
in theTestResponse
class. It makes it possible to assert that a given value exists at the specified path.Using
assertJsonPath
+
No need for a temporary variable+
Lets us assert on a specific user+
No need to include irrelevant data in the assertion