2013-08-16 33 views
13

Có ai có bất kỳ bài kiểm tra đơn vị viết bài may mắn nào cho AsyncTaskLoaders trong Robolectric không? Tôi đã thử một phiên bản sửa đổi của example for AsyncTask này, nhưng nó không thể hiện hành vi tương tự. Cụ thể là onLoadFinished không bao giờ được gọi. Có bất kỳ ví dụ khả thi nào ở đó để thử nghiệm Trình tải với Robolectric không?Kiểm tra AsyncTaskLoaders với Robolectric

+1

Bạn đã tìm thấy giải pháp chưa? – Kuno

+0

Thật không may là không. –

Trả lời

1

Không sử dụng Bộ tải. Chúng không dễ kiểm tra và chúng được kết hợp chặt chẽ với các mảnh vỡ và hoạt động sử dụng chúng. Thay vào đó, hãy sử dụng RxJava Observables cho các luồng dữ liệu không đồng bộ của bạn. Bạn có thể bỏ cặp lịch trình và kiểm tra chúng chạy đồng bộ trong các bài kiểm tra đơn vị của bạn. Nó sạch hơn nhiều và đơn giản hơn nhiều.

+0

bạn có bất kỳ ví dụ nào để chia sẻ không? Tôi đang tìm kiếm cụ thể cho phần "decoupling scheduler". Bạn có làm bất cứ điều gì khác trong mã của bạn khi đăng ký như tiêm một bộ lập lịch phổ biến? Hoặc là có phương pháp tiện lợi chỉ cần nói với Rxjava để thực hiện tất cả mọi thứ trên một sợi chỉ định? –

+0

Tôi vượt qua trong một SchedulerFactory để các lớp cần nó và trong sản xuất tôi vượt qua các lịch trình không đồng bộ (io, newThread, vv) cho các cuộc gọi của họ trong các phương pháp nhà máy, trong khi trong đơn vị kiểm tra tất cả các cuộc gọi trở về thread hiện tại cho tất cả các cuộc gọi. Bạn có thể chuyển một trình lên lịch cho một người quan sát được. –

0

Tôi chỉ đăng tải một cách tôi đã nhận nó làm việc trong đống vé này: Testing a CursorLoader with Robolectric & Mockito

Nó liên quan đến việc viết một vài thêm lớp bóng. Tôi có thể dán sửa chữa ở đây nếu được yêu cầu nhưng tôi không chắc chắn về quy ước cho câu trả lời trùng lặp.

Các vấn đề liên quan