Get in touch
or send us a question?
CONTACT

Hướng dẫn sử dụng Mockito trong Android Unit Test

Mockito là một thư viện Java được sử dụng để kiểm thử đơn vị (unit test) trên các đối tượng. Nó được sử dụng để tạo ra các đối tượng giả (mock objects) để thay thế các đối tượng thực trong việc kiểm thử. Trong bài viết này, chúng ta sẽ hướng dẫn sử dụng Mockito trong việc kiểm thử đơn vị trên Android.

Mockito trong Android

Bước 1: Thêm thư viện Mockito vào dự án Android Thêm dòng code sau vào file build.gradle (Module: app) của dự án để sử dụng thư viện Mockito:

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

Bước 2: Tạo đối tượng giả (Mock Object) Để tạo đối tượng giả, bạn có thể sử dụng phương thức static Mockito.mock() hoặc Mockito.spy() để tạo ra một đối tượng giả từ một đối tượng thực.

Ví dụ:

// Tạo một đối tượng giả của class Foo
Foo mockFoo = Mockito.mock(Foo.class);

// Tạo một đối tượng giả từ một đối tượng thực
Foo spyFoo = Mockito.spy(foo);

Bước 3: Thiết lập hành vi cho đối tượng giả Sử dụng phương thức Mockito.when() để thiết lập hành vi cho đối tượng giả. Ví dụ, bạn có thể thiết lập phương thức getFoo() trả về giá trị 10 khi gọi đối tượng giả mockFoo như sau:

Mockito.when(mockFoo.getFoo()).thenReturn(10);

Bước 4: Kiểm tra kết quả của phương thức Sử dụng phương thức assertEquals() để kiểm tra kết quả của phương thức. Ví dụ, bạn có thể kiểm tra phương thức getFoo() của đối tượng giả mockFoo trả về giá trị 10 như sau:

assertEquals(10, mockFoo.getFoo());

Ví dụ đầy đủ:

// Khởi tạo đối tượng giả
Foo mockFoo = Mockito.mock(Foo.class);

// Thiết lập hành vi cho đối tượng giả
Mockito.when(mockFoo.getFoo()).thenReturn(10);

// Kiểm tra kết quả của phương thức
assertEquals(10, mockFoo.getFoo());

Lưu ý: Bạn cần đảm bảo rằng các phương thức được gọi trên đối tượng giả đã được thiết lập trước đó để tránh lỗi NullPointerException.