# การทดสอบ Android (Android) > JUnit, Espresso, unit test, instrumented test, assertion - 28 คำถามสัมภาษณ์ - Junior - [คำถามสัมภาษณ์: Android](https://sharpskill.dev/th/technologies/android/interview-questions.md) ## 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 ทั้งหมด ## มีอีก 25 คำถาม - annotation @After ใช้สำหรับอะไร? - assertion ใน testing คืออะไร? สมัครฟรี: https://sharpskill.dev/th/login ## หัวข้อสัมภาษณ์ Android อื่นๆ - [พื้นฐาน Android](https://sharpskill.dev/th/technologies/android/interview-questions/android-fundamentals.md): 24 คำถาม, Junior - [UI และทรัพยากร Android](https://sharpskill.dev/th/technologies/android/interview-questions/android-ui-and-resources.md): 30 คำถาม, Junior - [Lifecycle ของ Android](https://sharpskill.dev/th/technologies/android/interview-questions/android-lifecycle.md): 30 คำถาม, Junior - [การนำทาง Android](https://sharpskill.dev/th/technologies/android/interview-questions/android-navigation.md): 26 คำถาม, Junior - [การจัดการข้อมูล Android](https://sharpskill.dev/th/technologies/android/interview-questions/android-data-management.md): 29 คำถาม, Junior - [Networking Android](https://sharpskill.dev/th/technologies/android/interview-questions/android-networking.md): 29 คำถาม, Junior - [Android Gradle](https://sharpskill.dev/th/technologies/android/interview-questions/android-gradle.md): 26 คำถาม, Junior - [พื้นฐานภาษา Kotlin สำหรับ Android](https://sharpskill.dev/th/technologies/android/interview-questions/android-kotlin-language-essentials.md): 24 คำถาม, Junior - [Room Database](https://sharpskill.dev/th/technologies/android/interview-questions/android-room-database.md): 25 คำถาม, Mid-Level - [การทำงานเบื้องหลัง](https://sharpskill.dev/th/technologies/android/interview-questions/android-background-work.md): 18 คำถาม, Mid-Level - [Jetpack Compose](https://sharpskill.dev/th/technologies/android/interview-questions/android-compose.md): 28 คำถาม, Mid-Level - [สิทธิ์และฟีเจอร์ของอุปกรณ์](https://sharpskill.dev/th/technologies/android/interview-questions/android-permissions-and-device.md): 21 คำถาม, Mid-Level - [Firebase สำหรับ Android](https://sharpskill.dev/th/technologies/android/interview-questions/android-firebase.md): 23 คำถาม, Mid-Level - [Android MVVM Architecture](https://sharpskill.dev/th/technologies/android/interview-questions/android-mvvm-architecture.md): 18 คำถาม, Mid-Level - [เครือข่าย Android ขั้นสูง](https://sharpskill.dev/th/technologies/android/interview-questions/android-networking-advanced.md): 13 คำถาม, Mid-Level - [Collections และ Operators ใน Kotlin](https://sharpskill.dev/th/technologies/android/interview-questions/android-kotlin-collections-operators.md): 20 คำถาม, Mid-Level - [Kotlin Coroutines และ Flow](https://sharpskill.dev/th/technologies/android/interview-questions/android-kotlin-coroutines-flow.md): 20 คำถาม, Mid-Level - [การฉีด Dependency ใน Android](https://sharpskill.dev/th/technologies/android/interview-questions/android-dependency-injection.md): 15 คำถาม, Mid-Level - [Android MVI Architecture](https://sharpskill.dev/th/technologies/android/interview-questions/android-mvi-architecture.md): 17 คำถาม, Mid-Level - [Android Clean Architecture](https://sharpskill.dev/th/technologies/android/interview-questions/android-clean-architecture.md): 21 คำถาม, Senior - [Android Compose ขั้นสูง](https://sharpskill.dev/th/technologies/android/interview-questions/android-compose-advanced.md): 17 คำถาม, Senior - [Android Performance and Monitoring](https://sharpskill.dev/th/technologies/android/interview-questions/android-performance-monitoring.md): 13 คำถาม, Senior - [Android Security and Privacy](https://sharpskill.dev/th/technologies/android/interview-questions/android-security-privacy.md): 18 คำถาม, Senior - [Android CI/CD and Release](https://sharpskill.dev/th/technologies/android/interview-questions/android-cicd-release.md): 15 คำถาม, Senior - [Android UX and Form Factors](https://sharpskill.dev/th/technologies/android/interview-questions/android-ux-form-factors.md): 18 คำถาม, Senior - [Android Testing Advanced](https://sharpskill.dev/th/technologies/android/interview-questions/android-testing-advanced.md): 18 คำถาม, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/th/technologies/android/interview-questions/android-testing