Tôi gọi dịch vụ web của bên thứ ba ngay bây giờ là một phần của đơn đăng ký của tôi. Tôi đang sử dụng đá quý RestClient để làm điều này. Có rất nhiều công cụ có sẵn để làm điều tương tự, vì vậy điều đó không quan trọng.Ruby on Rails: Cách tốt nhất để kiểm tra cuộc gọi không thành công tới API của bên thứ ba
Điều tôi tò mò là thử nghiệm đủ tốt, không có gì quá lạ mắt, nơi tôi có thể mô phỏng cách ứng dụng của tôi phản hồi khi dịch vụ web của bên thứ ba không khả dụng vì bất kỳ lý do gì. Có thể là tôi đã vượt quá giới hạn tốc độ hoặc thời gian chờ do độ trễ/biến chứng của mạng, tôi chỉ muốn có thể thực hiện một số thứ như mã trạng thái HTTP và kiểm tra ứng dụng của mình trong sự kiện đó.
Cách tốt nhất để thực hiện điều này bằng Test :: Unit là gì? Ngay bây giờ cuộc gọi đến dịch vụ bên thứ ba được đóng gói bên trong một trong các bộ điều khiển của tôi. Tôi có một mô-đun đơn giản với một số phương thức bao bọc cho các điểm kết thúc khác nhau của dịch vụ từ xa. Tôi chỉ muốn đảm bảo rằng đơn đăng ký của tôi thực hiện những điều đúng khi dịch vụ đó hoặc không có sẵn.
Có sử dụng một khung bổ sung bên cạnh Kiểm tra :: Đơn vị có thể 'khai thác' đúng cách để thực hiện việc này không? Rõ ràng là tôi không thể ép buộc thời gian chờ mạng và bắt đầu tấn công bằng những thứ như IPtables chỉ để thử nghiệm không đáng giá. Tôi chắc rằng vấn đề này đã được giải quyết hàng triệu lần khi tích hợp những thứ như Facebook và Twitter vào các ứng dụng web ngày nay rất phổ biến. Làm cách nào để bạn kiểm tra sự thất bại khi tiếp cận các API đó theo định dạng mạnh mẽ/được kiểm soát?