Các lớp đệm giao thức được đánh dấu final
, có lẽ là cho hiệu quả; tuy nhiên, điều này làm cho chúng khá khó kiểm tra với - Mockito không thể giả lập/gián điệp trên các lớp học cuối cùng. Tôi đã thử sử dụng PowerMockito
không thành công: Tôi nhận được ClassFormatError
khi chuẩn bị lớp học final
để kiểm tra.Có thể giả lập một thông báo đệm giao thức Java không?
Giải pháp của tôi cho đến bây giờ là tạo ra các giao diện bộ điều hợp giả, nhưng tôi hy vọng có một cách tiếp cận ít tốn kém hơn.
Tôi không thể thấy lý do tại sao bạn cần tạo một lớp thông báo protobuf. Nếu bạn cần phải sử dụng một trong một thử nghiệm, chỉ cần tạo nó theo cách thông thường. Nếu bạn đang chế nhạo một dịch vụ, bạn chỉ có thể giả lập ServiceClass.Interface. –
@Geoff: Đó là một điểm tốt, sử dụng một số giá trị đơn giản sẽ làm việc trong nhiều trường hợp - Tôi đã hy vọng sử dụng chức năng RETURNS_MOCKS để tránh phải xây dựng các thư phức tạp hơn và xác minh một số phần nhất định của thư được đọc. Tôi sẽ thử các khuôn khổ giả khác được đề cập bên dưới để xem chúng hoạt động như thế nào. – cdleary