When learning a new language, it's important to understand testing frameworks. With Kotlin, it's made easy by its similarity and interoperability with Java.
Good unit tests are often the best documentation of a project's behavior. But poorly-written unit tests can cement code in place, making it more difficult to change.
A short walkthrough of the Mox library for Elixir. See how implementing mocks based on behaviours can simplify your unit tests for Phoenix controllers.
With mocks for dependencies inside functions, unit tests will be resilient to a changing codebase. And functions with mocks can be developed without a chain of dependencies.
Asynchronous data loading is great for frontend apps—but it's difficult for unit tests. Your app is depending on a network that doesn’t exist during tests.