KIỂM THỬ VÀ TRIỂN KHAI ỨNG
DỤNG ANDROID
Bài 7: Sử dụng Robolectric
để kiểm thử ứng dụng
Android (tiếp theo)
Nội dung bài học
Quản lý vòng đời Activity
Sử dụng tài nguyên
Giới thiệu RoboGuice
Tích hợp RoboGuice
2
Quản lý vòng đời Activity trong Robolectric
Trước version Robolectric 2.2, hầu hết kiểm thử tạo Activity
phải gọi hàm tạo trực tiếp (new Activity()), quản lý vòng đời
Activity một cách thủ công (gọi onCreate())
Trong version mới, ActivityController thay đổi cách tiếp cận
quản lý Activity
ActivityController quản lý vòng đời Activity giống với cách
mà Android quản lý vòng đời Activity
Quản lý vòng đời Activity trong Robolectric
Bạn không sử dụng trực tiếp ActivityController
Sử dụng Robolectric.buildActivity() để quản lý Activity
Ví dụ quản lý Activity
O
DEM
Khởi tạo, tạm dừng, dừng và hủy
Activity
Quản lý vòng đời Activity trong Robolectric
Mô phỏng khởi tạo Activity với Intent
Khôi phục trạng thái thể hiện đã được lưu trữ
Sử dụng tài nguyên (resource qualifier)
Resource qualifier cho phép bạn thay đổi cách tài nguyên
được nạp dựa trên các yếu tố như thiết bị, cỡ màn hình,
ngôn ngữ
Xác định resource qualifier khá đơn giản, bổ sung thêm
qualifier mong muốn vào @Config annotation của test case
và test class, tùy thuộc vào bạn muốn resource qualifier cho
cả file test hoặc một phương thức test case
Ví dụ sử dụng tài nguyên (resource qualifier)
Tạo thư mục values-vn chứa tài nguyên tiếng việt trong thư
mục res
Thay đổi giá trị tương ứng trong file string.xml
Ví dụ sử dụng tài nguyên (resource qualifier)
Viết code kiểm thử trong java project, ví dụ như sau:
O
DEM
Sử dụng tài nguyên (qualified resource)
Giới thiệu RoboGuice
Là framework hỗ trợ viết code đẹp hơn
Không phải sử dụng findViewById
Không phải viết code để khởi tạo và quản lý vòng đời như
ứng dụng Android thông thường
Code khi sử dụng Android SDK
Code khi sử dụng Roboguice
Cài đặt RoboGuice
Tải cac file jar sau trên trang
/>nMaven
RoboGuice 2.0
Guice 3.0-no_aop
jsr330
jsr305
Cấu hình IDE để bổ sung các file jar vào project
O
DEM
Cấu hình và sử dụng Roboguice
Tích hợp roboguice với robolectric
Bạn có thể sử dụng trực tiếp các thể hiện (injected instance)
trong các phương thức kiểm thử
Ví dụ, có một activity đơn giản sau:
Tích hợp roboguice với robolectric
Tạo Java Project và bổ sung thư viện robolectric vào project,
sau đó tiến hành bổ sung test case và thiết lập như sau:
O
DEM
Tích hợp roboguice với robolectric
Tổng kết nội dung bài học
Quản lý vòng đời Activity
Quản lý tài nguyên
Giới thiệu RoboGuice
Tích hợp RoboGuice