Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 27 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
27
Dung lượng
530,3 KB
Nội dung
KIỂM THỬ VÀ TRIỂN KHAI ỨNG DỤNG ANDROID Bài 6: Sử dụng Robolectric để kiểm thử ứng dụng Android Nội dung học Tổng quan Robolectric Cấu hình Robolectric Khởi tạo thành phần khác Tổng quan Robolectric Robolectric framework cho phép chạy unit test JVM (java virtual machine) Giả lập Android framework chứa file android.jar Cho phép kiểm thử ứng dụng Android mơi trường tích hợp liên tục mà khơng cần cấu hình phức tạp Tổng quan Robolectric Robolectric hỗ trợ quản lý tài ngun Có thể sử dụng findViewById() để tìm kiếm view Trang chủ robolectric: http://robolectric.org Robolectric dựa JUnit4 framework Robolectric khơng phải test framework tích hợp Shadow object Robolectric thay lớp Android đối tượng shadow object Nếu phương thức miêu tả Robolectric, phương thức chuyển tiếp tới shadow object Shadow object hoạt động tương tự đối tượng Android SDK Nếu đối tượng không mô tả shadow object, trả lại giá trị mặc định, null Cài đặt Robolectric Cài đặt Robolectric đòi hỏi Robolectric JUnit Jars classpath Bạn cài bổ sung android.jar thư mục cài đặt Android SDK tới classpath test project Tải robolectric-X.X.X-jar-with-dependencies.jar từ website Robolectric from sonatype O DEM Cài đặt cấu hình Robolectrict Cấu hình project Robolectric Test Annotation @RunWith @Config @RunWith Để chạy kiểm thử Robolectric, phải thông báo cho JUnit cách sử dụng annotation @RunWith lớp kiểm thử Robolectric.shadowOf() Các lớp Android không cung cấp phương thức truy cập trạng thái đối tượng Android kiểm thử Phương thức Robolectric.shadowOf() cung cấp tham chiếu tới shadow instance đại diện cho đối tượng Android Robolectric.shadowOf() Ví dụ ứng dụng khởi tạo drawable resource id cho ImageView sau: Robolectric.shadowOf() Android không cung cấp phương thức để truy cập tới drawable resource id ImageView Sử dụng đối tượng ShadowImageView Robolectric để truy cập drawable resource id O DEM Cấu hình Robolectric Có nhiều cách để cấu hình Robolectric chạy chương trình System Properties Robolectric Config File project.properties File System Properties Cấu hình sử dụng thuộc tính sau: robolectric.strictI18n: thiết lập “true” để kích hoạt i18nstrict mode robolectric.logging: gồm có giá trị stdout, stderr tên file robolectric.offline (mới version 2.4): thiết lập true để disable runtime fetching jars từ Maven robolectric.dependency.dir (mới version 2.4): offline mode, xác định folder chứa runtime dependency Android jar Robolectric Config File project.properties File Bạn thiết lập giá trị mặc định cho item đối tượng Config bao gồm file thuộc tính đặc biệt classpath Tên file phải org.robolectric.Config.properties chứa số giá trị cấu hình ví dụ sau: manifest= /myapp/AndroidManifest.xml shadows=my.package.ShadowFoo Robolectric Config File project.properties File Nếu project có chứa ApkLibs, phải thiết lập với Robolectric Khi phải sử dụng file project.properties để khai báo dependency cho Robolectric target=android- android.library.reference.1= android.library.reference.2= Khởi tạo thành phần khác Trong Android dễ dàng khởi tạo service activity thơng qua tương tác người dùng Robolectric khởi tạo thành phần Bạn viết code để kiểm tra xem thành phần khởi tạo chưa Khởi tạo thành phần khác Ví dụ có activity layout sau thể hình welcome screen Khởi tạo thành phần khác Khi người dùng click vào button, di chuyển người dùng đến LoginActivity Khởi tạo thành phần khác Để kiểm tra, bạn kiểm tra người dùng click vào Login button, khởi tạo intent phù hợp Bởi Robolectric unit testing framework, LoginActivity khơng thể khởi tạo thực tế, ta kiểm tra xem WelcomeActivity có khởi tạo content hay khơng Kiểm tra Service tương tự kiểm tra Activity cách sử dụng phương thức getNextStartedService() ShadowActivity Khởi tạo thành phần khác O DEM Tổng kết nội dung học Tổng quan Robolectric Cấu hình Robolectric Khởi tạo thành phần khác