Android

āļāļēāļĢāļ—āļ”āļŠāļ­āļš Android

JUnit, Espresso, unit test, instrumented test, assertion

28 āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒÂ·
Junior
1

JUnit āļ„āļ·āļ­āļ­āļ°āđ„āļĢ?

āļ„āļģāļ•āļ­āļš

JUnit āļ„āļ·āļ­ framework āļŠāļģāļŦāļĢāļąāļš unit testing āļŠāļģāļŦāļĢāļąāļš Java āđāļĨāļ° Kotlin āđ€āļ›āđ‡āļ™āļĄāļēāļ•āļĢāļāļēāļ™āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āđāļĨāļ°āļĢāļąāļ™ test āļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī JUnit 4 āđƒāļŠāđ‰ annotation (@Test, @Before, @After) āđ€āļžāļ·āđˆāļ­āļāļģāļŦāļ™āļ” test āđāļĨāļ° lifecycle āļ‚āļ­āļ‡āļžāļ§āļāļĄāļąāļ™ Test JUnit āđ€āļĢāđ‡āļ§āđ€āļžāļĢāļēāļ°āļĢāļąāļ™āļšāļ™ JVM āđƒāļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āđƒāļŠāđ‰ Android emulator

2

annotation @Test āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ­āļ°āđ„āļĢ?

āļ„āļģāļ•āļ­āļš

@Test āļ—āļģāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāđ€āļĄāļ˜āļ­āļ”āđ€āļ›āđ‡āļ™ unit test āđ€āļĄāļ˜āļ­āļ”āļˆāļ°āļ–āļđāļāļĢāļąāļ™āđ‚āļ”āļĒ test runner āļŦāļēāļāđ„āļĄāđˆāļĄāļĩ @Test āđ€āļĄāļ˜āļ­āļ”āļˆāļ°āļ–āļđāļāđ€āļžāļīāļāđ€āļ‰āļĒ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡: @Test fun testAddition() { assertEquals(4, 2 + 2) } āđāļ•āđˆāļĨāļ° @Test āļ•āđ‰āļ­āļ‡āđ€āļ›āđ‡āļ™āļ­āļīāļŠāļĢāļ°āđāļĨāļ°āđ„āļĄāđˆāļ‚āļķāđ‰āļ™āļ­āļĒāļđāđˆāļāļąāļšāļĨāļģāļ”āļąāļšāļāļēāļĢāļĢāļąāļ™

3

annotation @Before āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ­āļ°āđ„āļĢ?

āļ„āļģāļ•āļ­āļš

@Before āļ—āļģāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāđ€āļĄāļ˜āļ­āļ”āļ—āļĩāđˆāļĢāļąāļ™ āļāđˆāļ­āļ™ āđāļ•āđˆāļĨāļ° test (@Test) āļĄāļĩāļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļ­āļ­āļšāđ€āļˆāļāļ•āđŒāļ—āļąāđˆāļ§āđ„āļ› āļŠāļĢāđ‰āļēāļ‡ mock āļĢāļĩāđ€āļ‹āđ‡āļ•āļŠāļ–āļēāļ™āļ° āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡: @Before fun setUp() { viewModel = MyViewModel() } āļŦāļēāļāļ„āļļāļ“āļĄāļĩ 5 test, @Before āļˆāļ°āļĢāļąāļ™ 5 āļ„āļĢāļąāđ‰āļ‡ āļ—āļēāļ‡āđ€āļĨāļ·āļ­āļ: @BeforeClass āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļĢāļąāļ™āļ„āļĢāļąāđ‰āļ‡āđ€āļ”āļĩāļĒāļ§āļāđˆāļ­āļ™ test āļ—āļąāđ‰āļ‡āļŦāļĄāļ”

4

annotation @After āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ­āļ°āđ„āļĢ?

5

assertion āđƒāļ™ testing āļ„āļ·āļ­āļ­āļ°āđ„āļĢ?

+25 āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒ

āļŦāļąāļ§āļ‚āđ‰āļ­āļŠāļąāļĄāļ āļēāļĐāļ“āđŒ Android āļ­āļ·āđˆāļ™āđ†

āļžāļ·āđ‰āļ™āļāļēāļ™ Android

Junior
24 āļ„āļģāļ–āļēāļĄ

UI āđāļĨāļ°āļ—āļĢāļąāļžāļĒāļēāļāļĢ Android

Junior
30 āļ„āļģāļ–āļēāļĄ

Lifecycle āļ‚āļ­āļ‡ Android

Junior
30 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļ™āļģāļ—āļēāļ‡ Android

Junior
26 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļ‚āđ‰āļ­āļĄāļđāļĨ Android

Junior
29 āļ„āļģāļ–āļēāļĄ

Networking Android

Junior
29 āļ„āļģāļ–āļēāļĄ

Android Gradle

Junior
26 āļ„āļģāļ–āļēāļĄ

āļžāļ·āđ‰āļ™āļāļēāļ™āļ āļēāļĐāļē Kotlin āļŠāļģāļŦāļĢāļąāļš Android

Junior
24 āļ„āļģāļ–āļēāļĄ

Room Database

Mid-Level
25 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļ—āļģāļ‡āļēāļ™āđ€āļšāļ·āđ‰āļ­āļ‡āļŦāļĨāļąāļ‡

Mid-Level
18 āļ„āļģāļ–āļēāļĄ

Jetpack Compose

Mid-Level
28 āļ„āļģāļ–āļēāļĄ

āļŠāļīāļ—āļ˜āļīāđŒāđāļĨāļ°āļŸāļĩāđ€āļˆāļ­āļĢāđŒāļ‚āļ­āļ‡āļ­āļļāļ›āļāļĢāļ“āđŒ

Mid-Level
21 āļ„āļģāļ–āļēāļĄ

Firebase āļŠāļģāļŦāļĢāļąāļš Android

Mid-Level
23 āļ„āļģāļ–āļēāļĄ

Android MVVM Architecture

Mid-Level
18 āļ„āļģāļ–āļēāļĄ

āđ€āļ„āļĢāļ·āļ­āļ‚āđˆāļēāļĒ Android āļ‚āļąāđ‰āļ™āļŠāļđāļ‡

Mid-Level
13 āļ„āļģāļ–āļēāļĄ

Collections āđāļĨāļ° Operators āđƒāļ™ Kotlin

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

Kotlin Coroutines āđāļĨāļ° Flow

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļ‰āļĩāļ” Dependency āđƒāļ™ Android

Mid-Level
15 āļ„āļģāļ–āļēāļĄ

Android MVI Architecture

Mid-Level
17 āļ„āļģāļ–āļēāļĄ

Android Clean Architecture

Senior
21 āļ„āļģāļ–āļēāļĄ

Android Compose āļ‚āļąāđ‰āļ™āļŠāļđāļ‡

Senior
17 āļ„āļģāļ–āļēāļĄ

Android Performance and Monitoring

Senior
13 āļ„āļģāļ–āļēāļĄ

Android Security and Privacy

Senior
18 āļ„āļģāļ–āļēāļĄ

Android CI/CD and Release

Senior
15 āļ„āļģāļ–āļēāļĄ

Android UX and Form Factors

Senior
18 āļ„āļģāļ–āļēāļĄ

Android Testing Advanced

Senior
18 āļ„āļģāļ–āļēāļĄ

āđ€āļŠāļĩāđˆāļĒāļ§āļŠāļēāļ Android āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļŠāļąāļĄāļ āļēāļĐāļ“āđŒāļ„āļĢāļąāđ‰āļ‡āļ–āļąāļ”āđ„āļ›

āđ€āļ‚āđ‰āļēāļ–āļķāļ‡āļ„āļģāļ–āļēāļĄāļ—āļąāđ‰āļ‡āļŦāļĄāļ” flashcards āđāļšāļšāļ—āļ”āļŠāļ­āļšāđ€āļ—āļ„āļ™āļīāļ„ āđāļšāļšāļāļķāļāļŦāļąāļ” code review āđāļĨāļ°āļ•āļąāļ§āļˆāļģāļĨāļ­āļ‡āļŠāļąāļĄāļ āļēāļĐāļ“āđŒ

āđ€āļĢāļīāđˆāļĄāđƒāļŠāđ‰āļŸāļĢāļĩ