Android Testing Advanced
āļāļēāļĢāļāļāļŠāļāļ Android āļāļąāđāļāļŠāļđāļ: TDD, mocking, Coroutines, Flow, Compose UI āđāļĨāļ° test coverage
1Mock, Stub āđāļĨāļ° Fake āđāļāļāļāđāļēāļāļāļąāļāļāļĒāđāļēāļāđāļĢāđāļāļāļēāļĢāļāļāļŠāļāļ?
Mock, Stub āđāļĨāļ° Fake āđāļāļāļāđāļēāļāļāļąāļāļāļĒāđāļēāļāđāļĢāđāļāļāļēāļĢāļāļāļŠāļāļ?
āļāļģāļāļāļ
Mock āļāļ°āļāļĢāļ§āļāļŠāļāļāļāļēāļĢāđāļāđāļāļāļ (āđāļāļĢāđāļĢāļĩāļĒāļāļāļ°āđāļĢ āļāļĩāđāļāļĢāļąāđāļ āļāđāļ§āļĒāļāļēāļĢāđāļāļīāļ§āđāļĄāļāļāđāđāļ) Stub āļāļ°āļŠāđāļāļāļ·āļāļāļģāļāļāļāļāļĩāđāļāļģāļŦāļāļāđāļ§āđāļĨāđāļ§āļāļŦāļāđāļēāđāļāļĒāđāļĄāđāļāļĢāļ§āļāļŠāļāļ Fake āļāļ·āļāļāļēāļĢ implement āļāļĩāđāļāļģāļāļēāļāđāļāđāđāļāļāļāđāļēāļĒ (āđāļāđāļ repository āđāļ memory) Mock āđāļāđāļ behavior verification, Stub āļŠāļāļąāļāļŠāļāļļāļ state verification āđāļĨāļ° Fake āđāļāđāļāļāļēāļāđāļĨāļ·āļāļāļāļĩāđāđāļāļēāđāļĨāļ°āļŠāļĄāļāļĢāļīāļ
2āļ§āļīāļāļĩāđāļāđ MockK āļŠāļģāļŦāļĢāļąāļ mocking āđāļ Kotlin?
āļ§āļīāļāļĩāđāļāđ MockK āļŠāļģāļŦāļĢāļąāļ mocking āđāļ Kotlin?
āļāļģāļāļāļ
MockK āđāļāđāļ Kotlin: mockk<T>() āļŠāļĢāđāļēāļ double, every { ... } returns ... āļāļģāļŦāļāļāļāļģāļāļāļ, verify { ... } āļāļĢāļ§āļāļŠāļāļāļāļēāļĢāđāļāđāļāļāļ āļĢāļāļāļĢāļąāļ coroutines (coEvery/coVerify), relaxed mocks āđāļĨāļ°āļāļēāļĢāļāļąāļāļāļēāļĢāđāļāļīāļ§āđāļĄāļāļāđāļāđāļēāļ slot
3TDD (Test-Driven Development) āļāļ·āļāļāļ°āđāļĢ?
TDD (Test-Driven Development) āļāļ·āļāļāļ°āđāļĢ?
āļāļģāļāļāļ
TDD āļāļ·āļāļāļēāļĢāđāļāļĩāļĒāļ test āļāđāļāļāđāļāļĩāļĒāļ code āđāļĨāļ°āļāļģāļāđāļģ RedâGreenâRefactor: test āļāļĩāđāļĨāđāļĄāđāļŦāļĨāļ§, code āļāļąāđāļāļāđāļģāđāļāļ·āđāļāđāļŦāđāļāđāļēāļ, āļāļēāļāļāļąāđāļ refactor āđāļāļĒāđāļĄāđāđāļāļĨāļĩāđāļĒāļāļāļĪāļāļīāļāļĢāļĢāļĄ āļāļĢāļ°āđāļĒāļāļāđ: coverage āļāļĩāļāļķāđāļ, āļāļēāļĢāļāļāļāđāļāļāļāļĩāđāļāļāļŠāļāļāđāļāđāļāđāļēāļĒāļāļķāđāļ, āđāļāļāļŠāļēāļĢāļāļĩāđāļĄāļĩāļāļĩāļ§āļīāļ
āļ§āļīāļāļĩāļāļāļŠāļāļ Coroutines āļāđāļ§āļĒ runTest?
āļ§āļīāļāļĩāļāļāļŠāļāļ Flow?
+15 āļāļģāļāļēāļĄāļŠāļąāļĄāļ āļēāļĐāļāđ
āļŦāļąāļ§āļāđāļāļŠāļąāļĄāļ āļēāļĐāļāđ Android āļāļ·āđāļāđ
āļāļ·āđāļāļāļēāļ Android
UI āđāļĨāļ°āļāļĢāļąāļāļĒāļēāļāļĢ Android
Lifecycle āļāļāļ Android
āļāļēāļĢāļāļģāļāļēāļ Android
āļāļēāļĢāļāļąāļāļāļēāļĢāļāđāļāļĄāļđāļĨ Android
Networking Android
āļāļēāļĢāļāļāļŠāļāļ Android
Android Gradle
āļāļ·āđāļāļāļēāļāļ āļēāļĐāļē Kotlin āļŠāļģāļŦāļĢāļąāļ Android
Room Database
āļāļēāļĢāļāļģāļāļēāļāđāļāļ·āđāļāļāļŦāļĨāļąāļ
Jetpack Compose
āļŠāļīāļāļāļīāđāđāļĨāļ°āļāļĩāđāļāļāļĢāđāļāļāļāļāļļāļāļāļĢāļāđ
Firebase āļŠāļģāļŦāļĢāļąāļ Android
Android MVVM Architecture
āđāļāļĢāļ·āļāļāđāļēāļĒ Android āļāļąāđāļāļŠāļđāļ
Collections āđāļĨāļ° Operators āđāļ Kotlin
Kotlin Coroutines āđāļĨāļ° Flow
āļāļēāļĢāļāļĩāļ Dependency āđāļ Android
Android MVI Architecture
Android Clean Architecture
Android Compose āļāļąāđāļāļŠāļđāļ
Android Performance and Monitoring
Android Security and Privacy
Android CI/CD and Release
Android UX and Form Factors
āđāļāļĩāđāļĒāļ§āļāļēāļ Android āļŠāļģāļŦāļĢāļąāļāļāļēāļĢāļŠāļąāļĄāļ āļēāļĐāļāđāļāļĢāļąāđāļāļāļąāļāđāļ
āđāļāđāļēāļāļķāļāļāļģāļāļēāļĄāļāļąāđāļāļŦāļĄāļ flashcards āđāļāļāļāļāļŠāļāļāđāļāļāļāļīāļ āđāļāļāļāļķāļāļŦāļąāļ code review āđāļĨāļ°āļāļąāļ§āļāļģāļĨāļāļāļŠāļąāļĄāļ āļēāļĐāļāđ
āđāļĢāļīāđāļĄāđāļāđāļāļĢāļĩ