Şu anda uygulamamın bir parçası olarak üçüncü taraf bir web hizmetini arıyorum. Bunu yapmak için RestClient gem kullanıyorum. Aynı şeyi yapmak için bir takım aletler mevcut, bu yüzden önemli olmamalı.Ruby on Rails: Bir üçüncü tarafa yapılan bir başarısız çağrıyı sınamanın en iyi yolu API
Neyi merak ettiğim, yeterince iyi bir sınamaya sahip olmaktır, çok süslü bir şey yoktur, nerede üçüncü parti web hizmeti herhangi bir nedenden dolayı kullanılamıyorsa, uygulamamın nasıl yanıt verdiğini taklit edebileceğim hiçbir şey yoktur. Ağ gecikme/komplikasyonları nedeniyle bir hız sınırını veya zaman aşımını aştığım için, sadece bir HTTP durum kodu gibi bir şey alabilmeyi ve bu etkinlikte uygulamamın ne yaptığını test edebilmeyi istiyorum.
Bunu Test :: Unit ile yapmanın en iyi yolu nedir? Şu anda üçüncü taraf hizmetine yapılan çağrı, denetleyicilerimden birinde saklanıyor. Uzaktan servisin farklı uç noktaları için bazı sarıcı yöntemleri ile basit bir modül var. Hizmetim mevcut olduğunda veya mevcut olmadığında uygulamamın doğru şeyleri yaptığından emin olmak istiyorum.
Test :: Birim'in yanında, bunu yapmak için doğru yolu 'kapatabilecek' ek bir çerçeve kullanıyor mu? Açıkçası, bir ağ zaman aşımını zorlayamam ve sadece testler için zaman değmez IPtables gibi şeylerle uğraşmaya başlayamıyorum. Bu sorunun Facebook ve Twitter gibi şeyleri web uygulamalarına entegre etmesinin milyonlarca kez çözüldüğüne eminim. Bu API'lara sağlam/kontrollü bir biçimde ulaşırken başarısızlık için nasıl test ediyorsunuz?