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ệ
Trang 1KIỂ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)
Trang 2Nộ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
Trang 3Quả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
Trang 4Quả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
Trang 5Ví dụ quản lý Activity
Trang 6DEM O
Khởi tạo, tạm dừng, dừng và hủy
Activity
Trang 7Quả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ữ
Trang 8Sử 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
Trang 9Ví 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
Trang 10Ví dụ sử dụng tài nguyên (resource qualifier)
Viết code kiểm thử trong java project, ví dụ như sau:
Trang 11DEM O
Sử dụng tài nguyên (qualified resource)
Trang 12Giớ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
Trang 13Code khi sử dụng Android SDK
Trang 14Code khi sử dụng Roboguice
Trang 15Cài đặt RoboGuice
Tải cac file jar sau trên trang
https://github.com/roboguice/roboguice/wiki/InstallationNo 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
Trang 16DEM O
Cấu hình và sử dụng Roboguice
Trang 17Tí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:
Trang 18Tí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:
Trang 19DEM O
Tích hợp roboguice với robolectric
Trang 20 Quản lý vòng đời Activity
Quản lý tài nguyên
Giới thiệu RoboGuice
Tích hợp RoboGuice
Tổng kết nội dung bài học