1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài 6: Sử dụng Robolectric để kiểm thử ứng dụng Android

27 186 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

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

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

KIỂM THỬ VÀ TRIỂN KHAI ỨNGDỤNG ANDROIDBài 6: Sử dụng Robolectric để kiểm thử ứng dụng Android... Tổng quan về Robolectric Robolectric là framework cho phép chạy các unit test trênJVM j

Trang 1

KIỂM THỬ VÀ TRIỂN KHAI ỨNGDỤNG ANDROID

Bài 6: Sử dụng Robolectric

để kiểm thử ứng dụng

Android

Trang 2

Nội dung bài học

 Tổng quan về Robolectric

 Cấu hình Robolectric

 Khởi tạo thành phần khác

2

Trang 3

Tổng quan về Robolectric

 Robolectric là framework cho phép chạy các unit test trênJVM (java virtual machine)

 Giả lập Android framework chứa trong file android.jar

 Cho phép kiểm thử ứng dụng Android trong môi trườngtích hợp liên tục mà không cần cấu hình phức tạp

Trang 4

Tổng quan về Robolectric

 Robolectric hỗ trợ quản lý tài nguyên

 Có thể sử dụng findViewById() để tìm kiếm view

 Trang chủ của robolectric: http://robolectric.org

 Robolectric dựa trên JUnit4 framework

 Robolectric không phải test framework tích hợp

Trang 5

Shadow object

 Robolectric thay thế các lớp Android bằng các đối tượngshadow object

 Nếu một phương thức được miêu tả bởi Robolectric,

phương thức sẽ được chuyển tiếp tới shadow object

 Shadow object hoạt động tương tự như các đối tượng củaAndroid SDK

 Nếu một đối tượng không được mô tả bởi shadow object,

sẽ trả lại giá trị mặc định, null hoặc 0

Trang 7

DEM O

Cài đặt và cấu hình Robolectrict

Trang 8

Cấu hình project Robolectric

Trang 9

Test Annotation

 @RunWith

 @Config

Trang 10

 Để chạy kiểm thử trong Robolectric, phải thông báo choJUnit bằng cách sử dụng annotation @RunWith trong lớpkiểm thử

Trang 11

 Chỉ dẫn Robolectric cấu hình Android theo cách khác cholớp kiểm thử hoặc phương thức bất kỳ

Trang 12

DEM O

Kiểm thử sử dụng Robolectric

Trang 14

 Ví dụ ứng dụng khởi tạo drawable resource id choImageView như sau:

Trang 15

 Android không cung cấp phương thức để truy cập tới

drawable resource id của ImageView

 Sử dụng đối tượng ShadowImageView của Robolectric đểtruy cập drawable resource id

Trang 16

DEMO

Trang 18

System Properties

 Cấu hình sử dụng các thuộc tính sau:

 robolectric.strictI18n: thiết lập “true” để kích hoạt strict mode

i18n- robolectric.logging: gồm có các giá trị stdout, stderr

hoặc tên file

 robolectric.offline (mới trong version 2.4): thiết lập true

để disable runtime fetching jars từ Maven

 robolectric.dependency.dir (mới trong version 2.4): đốivới offline mode, xác định folder chứa runtime

dependency như Android jar

Trang 19

Robolectric Config File và project.properties File

 Bạn có thể thiết lập giá trị mặc định cho bất kỳ item nào

trong đối tượng Config bao gồm file thuộc tính đặc biệt

trong classpath

 Tên file phải là org.robolectric.Config.properties và chứa một

số giá trị cấu hình ví dụ như sau:

 manifest= /myapp/AndroidManifest.xml

 shadows=my.package.ShadowFoo

Trang 20

Robolectric Config File và project.properties File

 Nếu project có chứa ApkLibs, phải thiết lập đúng với

Robolectric Khi đó phải sử dụng file project.properties đểkhai báo dependency cho Robolectric

 target=android-<android API level to target>

 android.library.reference.1=<relative path to first dependency>

 android.library.reference.2=<relative path to second dependency>

Trang 21

Khởi tạo các thành phần khác

 Trong Android có thể dễ dàng khởi tạo service và activity thông qua tương tác người dùng

 Robolectric không thể khởi tạo các thành phần này

 Bạn chỉ có thể viết code để kiểm tra xem các thành phầnnày đã khởi tạo chưa

Trang 22

Khởi tạo các thành phần khác

 Ví dụ có activity layout như sau thể hiện màn hình welcome screen

Trang 23

Khởi tạo các thành phần khác

 Khi người dùng click vào button, sẽ di chuyển người dùngđến LoginActivity

Trang 24

Khởi tạo các thành phần khác

 Để kiểm tra, bạn có thể kiểm tra khi người dùng click vào

Login button, chúng ta sẽ khởi tạo intent phù hợp

 Bởi vì Robolectric là unit testing framework, do đó

LoginActivity không thể được khởi tạo trong thực tế, do đó

ta kiểm tra xem WelcomeActivity có khởi tạo đúng content hay không

 Kiểm tra Service tương tự như kiểm tra Activity bằng cách sửdụng phương thức getNextStartedService() trong

ShadowActivity

Trang 25

Khởi tạo các thành phần khác

Trang 26

DEMO

Ngày đăng: 28/02/2019, 22:47

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w