📄️ JUnit and Local Unit Testing
Unit Tests verify the behavior of the smallest unit of logic (e.g., a function, a UseCase, or a ViewModel). They run on the local JVM (your computer) and are exceptionally fast compared to instrumented UI tests.
📄️ MockK
MockK is the definitive mocking library built exclusively for Kotlin. Unlike older Java libraries like Mockito, MockK handles Kotlin's unique language traits—such as final classes by default, object singletons, extension functions, and suspend coroutines natively and effortlessly.
📄️ UI Testing (Espresso and Compose)
UI tests are instrumented tests. They run on a physical device or emulator, meaning they have access to the full Android Framework (Context, Activity, Instrumentation). They are slower but test the application precisely the way a user interacts with it.