āļāļēāļĢāļāļāļŠāļāļ Android
JUnit, Espresso, unit test, instrumented test, assertion
1JUnit āļāļ·āļāļāļ°āđāļĢ?
JUnit āļāļ·āļāļāļ°āđāļĢ?
āļāļģāļāļāļ
JUnit āļāļ·āļ framework āļŠāļģāļŦāļĢāļąāļ unit testing āļŠāļģāļŦāļĢāļąāļ Java āđāļĨāļ° Kotlin āđāļāđāļāļĄāļēāļāļĢāļāļēāļāļŠāļģāļŦāļĢāļąāļāļāļēāļĢāđāļāļĩāļĒāļāđāļĨāļ°āļĢāļąāļ test āļāļąāļāđāļāļĄāļąāļāļī JUnit 4 āđāļāđ annotation (@Test, @Before, @After) āđāļāļ·āđāļāļāļģāļŦāļāļ test āđāļĨāļ° lifecycle āļāļāļāļāļ§āļāļĄāļąāļ Test JUnit āđāļĢāđāļ§āđāļāļĢāļēāļ°āļĢāļąāļāļāļ JVM āđāļāđāļāļĢāļ·āđāļāļāđāļāļĒāđāļĄāđāļāđāļāļāđāļāđ Android emulator
2annotation @Test āđāļāđāļŠāļģāļŦāļĢāļąāļāļāļ°āđāļĢ?
annotation @Test āđāļāđāļŠāļģāļŦāļĢāļąāļāļāļ°āđāļĢ?
āļāļģāļāļāļ
@Test āļāļģāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāđāļĄāļāļāļāđāļāđāļ unit test āđāļĄāļāļāļāļāļ°āļāļđāļāļĢāļąāļāđāļāļĒ test runner āļŦāļēāļāđāļĄāđāļĄāļĩ @Test āđāļĄāļāļāļāļāļ°āļāļđāļāđāļāļīāļāđāļāļĒ āļāļąāļ§āļāļĒāđāļēāļ: @Test fun testAddition() { assertEquals(4, 2 + 2) } āđāļāđāļĨāļ° @Test āļāđāļāļāđāļāđāļāļāļīāļŠāļĢāļ°āđāļĨāļ°āđāļĄāđāļāļķāđāļāļāļĒāļđāđāļāļąāļāļĨāļģāļāļąāļāļāļēāļĢāļĢāļąāļ
3annotation @Before āđāļāđāļŠāļģāļŦāļĢāļąāļāļāļ°āđāļĢ?
annotation @Before āđāļāđāļŠāļģāļŦāļĢāļąāļāļāļ°āđāļĢ?
āļāļģāļāļāļ
@Before āļāļģāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāđāļĄāļāļāļāļāļĩāđāļĢāļąāļ āļāđāļāļ āđāļāđāļĨāļ° test (@Test) āļĄāļĩāļāļĢāļ°āđāļĒāļāļāđāļŠāļģāļŦāļĢāļąāļāļāļēāļĢāđāļĢāļīāđāļĄāļāđāļāļāļāļāđāļāļāļāđāļāļąāđāļ§āđāļ āļŠāļĢāđāļēāļ mock āļĢāļĩāđāļāđāļāļŠāļāļēāļāļ° āļāļąāļ§āļāļĒāđāļēāļ: @Before fun setUp() { viewModel = MyViewModel() } āļŦāļēāļāļāļļāļāļĄāļĩ 5 test, @Before āļāļ°āļĢāļąāļ 5 āļāļĢāļąāđāļ āļāļēāļāđāļĨāļ·āļāļ: @BeforeClass āļŠāļģāļŦāļĢāļąāļāļāļēāļĢāļĢāļąāļāļāļĢāļąāđāļāđāļāļĩāļĒāļ§āļāđāļāļ test āļāļąāđāļāļŦāļĄāļ
annotation @After āđāļāđāļŠāļģāļŦāļĢāļąāļāļāļ°āđāļĢ?
assertion āđāļ testing āļāļ·āļāļāļ°āđāļĢ?
+25 āļāļģāļāļēāļĄāļŠāļąāļĄāļ āļēāļĐāļāđ
āļŦāļąāļ§āļāđāļāļŠāļąāļĄāļ āļēāļĐāļāđ Android āļāļ·āđāļāđ
āļāļ·āđāļāļāļēāļ Android
UI āđāļĨāļ°āļāļĢāļąāļāļĒāļēāļāļĢ Android
Lifecycle āļāļāļ Android
āļāļēāļĢāļāļģāļāļēāļ Android
āļāļēāļĢāļāļąāļāļāļēāļĢāļāđāļāļĄāļđāļĨ Android
Networking 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 Testing Advanced
āđāļāļĩāđāļĒāļ§āļāļēāļ Android āļŠāļģāļŦāļĢāļąāļāļāļēāļĢāļŠāļąāļĄāļ āļēāļĐāļāđāļāļĢāļąāđāļāļāļąāļāđāļ
āđāļāđāļēāļāļķāļāļāļģāļāļēāļĄāļāļąāđāļāļŦāļĄāļ flashcards āđāļāļāļāļāļŠāļāļāđāļāļāļāļīāļ āđāļāļāļāļķāļāļŦāļąāļ code review āđāļĨāļ°āļāļąāļ§āļāļģāļĨāļāļāļŠāļąāļĄāļ āļēāļĐāļāđ
āđāļĢāļīāđāļĄāđāļāđāļāļĢāļĩ