Fix Retrofit adapter test configuration #2624
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.
Current test configuration reuses one
MockWebServer
instance across all tests. This is incorrect, as any changes to the mock server configuration influence subsequent tests.To experience the problem on the current
main
branch, change the test order in that you move any test asserting a successful response, e.g.should return ResponseMock for 200 with valid JSON
, after the last testshould throw when server disconnects
. The test for a successful response will now start failing.This PR fixes that in that the
server
andservice
variables have been madelateinit var
s and are initialized before any test.To test if this fixes the problem, just change the test order in the way described above on this PR's branch and see that the tests all still pass regardless of their order.
I have also renamed the confusingly named
SuspedApiClientTest
toSuspendApiTestClient
. The old name suggested that it was a test (because of theTest
suffix) when in reality it is a test client.