Get in touch
or send us a question?
CONTACT

Android Unit Test và Coverage: Hướng dẫn chi tiết

Giới thiệu

Unit test và code coverage là hai khía cạnh quan trọng trong việc phát triển phần mềm Android chất lượng cao. Unit test giúp đảm bảo từng đơn vị code hoạt động chính xác như mong đợi, trong khi code coverage cung cấp thông tin chi tiết về mức độ code được unit test bao phủ.

Bài blog này sẽ hướng dẫn bạn cách thực hiện unit test và code coverage cho ứng dụng Android bằng các công cụ phổ biến như JUnit và Mockito.

1. Unit Test với JUnit

JUnit là framework unit test phổ biến nhất cho Java, bao gồm các annotation và API giúp bạn viết và thực thi unit test dễ dàng.

Bước 1: Thêm JUnit vào project

Để sử dụng JUnit, bạn cần thêm dependency cho nó vào project Gradle:

dependencies {
    testImplementation 'junit:junit:4.13.2'
}

Bước 2: Viết unit test

Tạo một class test cho mỗi class code mà bạn muốn test. Sử dụng annotation @Test để đánh dấu các phương thức test.

Java

@RunWith(AndroidJUnit4::class)
public class MyActivityTest {

    @Test
    public void testButtonClick() {
        // ... Sắp xếp code test cho nút bấm
    }
}

Bước 3: Chạy unit test

Bạn có thể chạy unit test từ Android Studio hoặc command line.

2. Code Coverage với Mockito

Mockito là framework mocking phổ biến cho Java, giúp bạn mock objects và stubs để test code mà không phụ thuộc vào các thành phần bên ngoài.

Bước 1: Thêm Mockito vào project

Thêm dependency cho Mockito vào project Gradle:

dependencies {
    testImplementation 'org.mockito:mockito-core:3.11.2'
}

Bước 2: Mock objects

Sử dụng Mockito để mock objects mà class code của bạn tương tác.

Java

@RunWith(AndroidJUnit4::class)
public class MyActivityTest {

    @Mock
    private MyService myService;

    @Test
    public void testButtonClick() {
        // ... Sử dụng object mock trong code test
    }
}

Bước 3: Thực thi unit test

Chạy unit test như bình thường. Mockito sẽ theo dõi các tương tác giữa class code của bạn và objects mock.

3. Đo lường Code Coverage

Android Studio cung cấp công cụ code coverage tích hợp giúp bạn đo lường mức độ code được unit test bao phủ.

Bước 1: Mở code coverage

Mở menu Build > Analyze Code Coverage.

Bước 2: Xem kết quả

Android Studio sẽ hiển thị báo cáo code coverage cho project, bao gồm tỷ lệ phần trăm code được test cho từng class và method.

Kết luận

Viết unit test và đo lường code coverage là những thực hành quan trọng giúp đảm bảo chất lượng code và giảm thiểu lỗi trong ứng dụng Android. JUnit và Mockito là hai công cụ phổ biến giúp bạn thực hiện việc này một cách dễ dàng và hiệu quả.

Ngoài ra:

  • Bạn có thể sử dụng các framework unit test khác như Robolectric và Espresso.
  • Có nhiều công cụ code coverage khác ngoài công cụ tích hợp của Android Studio, ví dụ như JaCoCo và Emma.
  • Viết unit test và đo lường code coverage nên được thực hiện thường xuyên trong suốt quá trình phát triển ứng dụng.

Bằng cách thực hiện unit test và code coverage, bạn có thể:

  • Viết code chất lượng cao hơn
  • Giảm thiểu lỗi
  • Dễ dàng refactor code
  • Cải thiện khả năng bảo trì code

Chúc bạn thành công!