Android Testing Advanced
Advanced Android testing: TDD, mocking, Coroutines, Flow, Compose UI, and test coverage
1How do Mock, Stub, and Fake differ in tests?
How do Mock, Stub, and Fake differ in tests?
답변
A Mock verifies interactions (who calls what, how many times, with which arguments). A Stub returns predefined responses without verification. A Fake is a simplified working implementation (e.g., in‑memory repository). Mocks emphasize behavior verification, Stubs support state verification, and Fakes provide lightweight realistic alternatives.
2How to use MockK for mocking in Kotlin?
How to use MockK for mocking in Kotlin?
답변
MockK is Kotlin‑centric: mockk<T>() creates a double, every { ... } returns ... stubs responses, verify { ... } checks interactions. It supports coroutines (coEvery/coVerify), relaxed mocks, and argument capture via slot.
3What is TDD (Test-Driven Development)?
What is TDD (Test-Driven Development)?
답변
TDD means writing a test before the code and iterating Red‑Green‑Refactor: failing test, minimal code to pass, then refactor without changing behavior. Benefits: better coverage, more testable design, living documentation.
How to test Coroutines with runTest?
How to test Flow?
+15 면접 질문