Experimental implementation of using a FakeClass for mock database interactions #1
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.
While trying to create a fake class in the Monster app's codebase, I realized implementing the experiment on a smaller codebase would be much easier to understand.
The sample app on which this PR was made conforms to Monster's architecture. Specifically, I use Kotlin, Coroutines, Koin, and MVVM.
While implementing a fake class can be time consuming, the resulting unit tests are significantly more readable than what we're producing with our current approach. Also, with the help of Koin, creating Unit tests using fakes is super easy.
Looking forward to hearing feedback.