1. Trang chủ
  2. » Giáo án - Bài giảng

Bài 4: Kiểm thử Service và Content Provider

30 114 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 30
Dung lượng 447,29 KB

Nội dung

KIỂM THỬ VÀ TRIỂN KHAI ỨNG DỤNG ANDROID Bài 4: Kiểm thử Service Content Provider Nội dung học  Thiết kế kiểm thử Service  ServiceTestCase  Các bước kiểm thử Service  Thiết kế kiểm thử Content Provider  Content Provider Testing API  Các bước kiểm thử Content Provider Kiểm thử Service  Android cung cấp framework kiểm thử cho đối tượng Service  Framework kiểm thử chạy độc lập cung cấp đối tượng giả lập (mock object) Thiết kế kiểm thử Service  Khi thiết kế Service, phải cân nhắc test case kiểm thử trạng thái khác vòng đời Service  Nếu phương thức vòng đời khởi tạo Service phương thức onCreate() onStartCommand() không thiết lập biến global để xác nhận có thành cơng hay khơng, phải cung cấp biến để phục vụ kiểm thử  Lớp ServiceTestCase cung cấp phương thức để kiểm thử Service ServiceTestCase  Lớp kế thừa lớp TestCase JUnit cung cấp phương thức để kiểm thử Service điều khiển vòng đời Service kiểm thử  Cung cấp đối tượng giả lập Application Context tách rời kiểm thử với phần cịn lại hệ thống ServiceTestCase  ServiceTestCase không khởi tạo môi trường kiểm thử phương thức ServiceTestCase.startService() ServiceTestCase.bindService() gọi  Các phương thức cho phép thiết lập môi trường kiểm thử, đối tương giả lập trước Service chạy ServiceTestCase  Chú ý tham số ServiceTestCase.bindSevice() khác với tham số Service.bindService()  Đối với ServiceTestCase, cần cung cấp Intent  ServiceTestCase.bindService() không trả giá trị boolean mà trả đối tượng iBinder Lớp đối tượng giả lập  ServiceTestCase coi bạn sử dụng đối tượng giả lập Context Application cho môi trường kiểm thử  Các đối tượng giúp phân tách môi trường kiểm thử với hệ thống thật  Nếu bạn không cung cấp đối tượng giả lập này, ServiceTestCase tự động tạo đối tượng giả lập truyền vào Service Lớp đối tượng giả lập  Để truyền đối tượng Application giả lập, tạo lớp MockApplication  MockApplication lớp Application phương thức ném ngoại lệ Exception nên kế thừa override phương thức cần thiết  Truyền đối tượng Application vào Service sử dụng setApplication() Lớp đối tượng giả lập  Đối tượng giả lập giúp bạn điều khiển giá trị ứng dụng mà Service nhìn thấy, phân tách Service khỏi hệ thống thực  Truyền đối tượng Context giả lập vào Service kiểm thử sử dụng setContext() Quy tắc lập trình với ServiceTestCase  Kiểm sốt vịng đời Service  Phương thức setUp() gọi trước phương thức kiểm thử  Test Case gọi onCreate() phương thức startService(intent) bindService(intent) gọi  Khi phương thức kiểm thử kết thúc, test case gọi phương thức tearDown Phương thức dừng hủy Service thông qua lời gọi phù hợp, phụ thuộc vào Service khởi tạo  Nếu bạn override tearDown(), bạn phải gọi super.tearDown() cuối hàm mà bạn override O DEM Kiểm thử Service Kiểm thử ContentProvider  ContentProvider kho liệu chia sẻ, sử dụng để quản lý chia sẻ liệu ứng dụng  Người phát triển ứng dụng cung cấp ContentProvider công khai để ứng dụng khác sử dụng Khi đó, người phát triển nên kiểm thử ContentProvider Thiết kế kiểm thử ContentProvider  Trong Android, ContentProvider cịn gọi API cơng khai  Bạn nên kiểm thử thành phần công khai ContentProvider  Lớp dùng để kiểm thử ContentProvider lớp ProviderTestcase2 Thiết kế kiểm thử ContentProvider  Lớp ProviderTestCase2 cho phép kiểm thử ContentProvider môi trường độc lập  Các đối tượng giả lập IsolatedContext MockContentResolver cung cấp môi trường kiểm thử độc lập  Các gói kiểm thử chạy điều khiển test runner InstrumentationTestRunner Content Provider Testing API  Mục tiêu Content Provider Testing API cung cấp môi trường kiểm thử độc lập  API không cho phép thay đổi liệu thực tế, ví dụ thêm xóa liệu contact provider thật ProviderTestCase2  Kiểm thử provider cách kế thừa lớp ProviderTestCase2  Lớp ProviderTestCase2 kế thừa lớp AndroidTestCase cung cấp JUnit Testing Framework phương thức Android để kiểm thử Content Provider  Việc khởi tạo lớp kiểm thử thực hàm tạo ProviderTestCase2 ProviderTestCase2  ProviderTestCase2 tạo đối tượng IsolatedContext cho phép thao tác với file sở liệu không cho phép thực tương tác khác với hệ thống Android  Hàm tạo tạo đối tượng MockContentResolver sử dụng resolver kiểm thử  Hàm tạo tạo thể provider kiểm thử Đây đối tượng ContentProvider thật thông tin môi trường lấy từ IsolatedContext hạn chế kiểm thử thực hiên môi trường kiểm thử độc lập Kiểm thử sử dụng phương thức resolver  Mặc dù bạn tạo đối tượng provider ProviderTestCase2, bạn nên kiểm thử với đối tượng resolver với URI thích hợp  Điều đảm bảo bạn thử nghiệm ContentProvider cách sử dụng tương tác giống ứng dụng thường xuyên sử dụng Kiểm thử sử dụng phương thức resolver Kiểm thử content provider công khai  Kiểm thử số mà Content Provider cung cấp  Kiểm thử tất URI mà provider cung cấp  Kiểm thử URI không hợp lệ Kiểm thử content provider  Kiểm thử tương tác provider chuẩn  Hầu hết provider cung cấp phương thức chuẩn: truy vấn, thêm mới, xóa, cập nhật, getType onCreate()  Bạn nên kiểm thử tất phương thức Kiểm thử logic nghiệp vụ Content Provider  Kiểm thử logic nghiệp vụ mà provider cung cấp  Logic nghiệp vụ bao gồm điều khiển giá trị không hợp lệ, tính tốn số học, tài liên quan  Content Provider khơng cung cấp logic nghiệp vụ logic nghiệp vụ miêu tả Activity O DEM Kiểm thử Content Provider Tổng kết nội dung học  Thiết kế kiểm thử Service  ServiceTestCase  Các bước kiểm thử Service  Thiết kế kiểm thử Content Provider  Content Provider Testing API  Các bước kiểm thử Content Provider ... Thiết kế kiểm thử Service  ServiceTestCase  Các bước kiểm thử Service  Thiết kế kiểm thử Content Provider  Content Provider Testing API  Các bước kiểm thử Content Provider Kiểm thử Service. .. nên kiểm thử ContentProvider Thiết kế kiểm thử ContentProvider  Trong Android, ContentProvider cịn gọi API cơng khai  Bạn nên kiểm thử thành phần công khai ContentProvider  Lớp dùng để kiểm thử. .. Service. onStartCommand() Các điểm cần ý kiểm thử Service  Lời gọi startService() lồng gọi Context.stopService() Service. stopSeft() dừng Service  Chú ý kiểm thử lời gọi dừng Service  Kiểm thử

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

TỪ KHÓA LIÊN QUAN

w