Test-Driven Development in Android

Jan 24 2023 · Kotlin 1.6, Android 12, AS Bumblebee 2021.1.1

Part 2: Integration Tests

15. Refactor Code

Episode complete

Play next episode

Next
About this episode

Leave a rating/review

See forum comments
Cinema mode Mark complete Download course materials
Previous episode: 14. Last Integration Test Next episode: 16. Set Up Espresso

Get immediate access to this and 4,000+ other videos and books.

Take your career further with a Kodeco Personal Plan. With unlimited access to over 40+ books and 4,000+ professional videos in a single subscription, it's simply the best investment you can make in your development career.

Learn more Already a subscriber? Sign in.

Transcript: 15. Refactor Code

There is one more thing we need to do before moving on to the next section which is refactoring our DetailViewModel

Take a look at the saveNewItem() method. I think it is doing a lot of work on this part. It is formatting the wishlist for saving when one could argue we need to do that on the repository.

So, we’re gonna have to change 3 files. First, we’re going to change it to instead of passing this as a parameter we’re going to simple pass a wishlist and the new item’s name.

Now open the repository’s interface inside the main package. Here we need to change this method’s signature to also accept a named parameter ot type string. We will need to change the implementation as well, and in here:

wishlistDao.save(wishlist.copy(wishes = wishlist.wishes + name))

in here name of type string.

That’s it. Execute all of your tests to make sure all of your code to make sure everything still works as expected.

This is the beauty of having integration tests and unit tests if you refactor your code you can make sure that everything is still working as you expected if you run your tests and all of them pass. And they all did. Nice!