Tôi hiện đang làm việc trên một loạt các dịch vụ web mà chúng tôi cần tích hợp với Kinesis - việc triển khai đã được thực hiện, tuy nhiên chúng tôi có một loạt các bài kiểm tra tích hợp (các dịch vụ web của chúng tôi đều đang sử dụng Khởi động mùa xuân để chúng tôi sử dụng chú thích @WebIntegrationTest trên các lớp thử nghiệm của chúng tôi để khởi động một cá thể cục bộ của máy chủ và sau đó gọi tài nguyên của chúng tôi bằng TestRestTemplate) hiện đang cố gắng và không kết nối được với Kinesis thực. Mặc dù trong các bài kiểm tra đơn vị thông thường, không có vấn đề gì khi thực hiện các cuộc gọi đến các phương thức bên trong thư viện Kinesis, chúng ta không thể thực hiện điều này trong các bài kiểm tra tích hợp khi toàn bộ ứng dụng được kết nối với Spring. Đối với một vài thứ khác (chẳng hạn như OAuth2 và các cuộc gọi đến các dịch vụ web khác của chúng tôi), chúng tôi đã có thể sử dụng WireMock để giả lập điểm cuối thực tế - những gì tôi thực sự muốn làm là sử dụng WireMock trong thời trang này để loại bỏ cuộc gọi đến AmazonKinesisClient nhưng tôi không thể tìm thấy bất kỳ lời khuyên nào về cách thực hiện việc này. Ngoài ra, tôi đã thấy rằng một số thành phần AWS có thư viện kiểm tra được viết bởi bên thứ ba cho phép bạn chạy phiên bản địa phương của nó (ví dụ: DynamoDbLocal) nhưng không thể tìm thấy giải pháp như vậy cho Kinesis.Amazon Kinesis + Integration Tests
Có ai có thể cho tôi một số lời khuyên về cách chạy thử nghiệm tích hợp với Kinesis không?
Tôi không quen với WebIntegrationTests, nhưng, bạn có thể: Tạo một luồng thử nghiệm không sản xuất với một mảnh duy nhất trước khi thử nghiệm của bạn, chạy thử nghiệm và đóng nó sau? Hoặc tạo ra một wrapper mỏng xung quanh aws api trên đặt/nhận cuộc gọi của bạn mà có thể phễu đối tượng thông qua một hàng đợi? –
Tôi cũng chạy vào "vấn đề" này. Một trường hợp sử dụng khác mà tôi cần là mọi nhà phát triển đều có thể chạy thử nghiệm tích hợp từ môi trường cục bộ. Tôi không muốn tạo luồng cho mọi dev. – Mantas
2017 và vẫn không thấy bất kỳ công cụ nào xung quanh. – prayagupd