Webmock: مهلة وهمية

تم إنشاؤها على ١ مارس ٢٠١٠  ·  4تعليقات  ·  مصدر: bblimke/webmock

ربما طلب غريب هنا ولكن ...

هل سيكون من الممكن الاستهزاء بمهلة HTTP؟ أنا أختبر معالجة الأخطاء والقدرة على السخرية من طلب انتهاء المهلة ستكون مفيدة للغاية.

التعليق الأكثر فائدة

أضيفت في الماجستير.
يمكنك القيام بما يلي الآن:

stub_request(:any, 'www.example.net').to_timeout

RestClient.post('www.example.net', 'abc')    # ===> RestClient::RequestTimeout  

سيؤدي ذلك دائمًا إلى رفع استثناء المهلة المحددة لعميل http.

ال 4 كومينتر

مرحبًا جيفري ،

كنت أفكر في هذه الميزة. يمكن أن يحتوي WebMock على شيء مثل stub_request (: get، "www.google.com"). to_timeout

يمكنك حاليًا تحقيق هذه الوظيفة باستخدام .to_raise (e) حيث يمثل e استثناءً لانتهاء المهلة المحددة للمكتبة.
بيت القصيد من webmock هو أن تكون مكتبة عميل http مستقلة لذا يجب أن تعمل to_timeout مع كل مكتبة.
تكمن المشكلة في أن المكتبات المختلفة ترجع أخطاء مختلفة ، أي Net :: HTTP تُرجع Ruby Timeout :: Error بينما يقوم HTTPClient برفع HTTPClient :: TimeoutError.
يمكن تكرار هذا السلوك في WebMock ولكن يجب أن يكون رمز معالجة الخطأ مختلفًا في أي وقت تقوم فيه بتغيير المكتبة.

لم أكن أعرف شيئًا عن الارتفاع. في حين أن مهلة to_timeout العامة ستكون بالطبع أجمل ، إلا أنني سعيد جدًا بالرفع من أجل أغراضي.

أضيفت في الماجستير.
يمكنك القيام بما يلي الآن:

stub_request(:any, 'www.example.net').to_timeout

RestClient.post('www.example.net', 'abc')    # ===> RestClient::RequestTimeout  

سيؤدي ذلك دائمًا إلى رفع استثناء المهلة المحددة لعميل http.

رائع ، شكرا جزيلا!

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

vangberg picture vangberg  ·  3تعليقات

Morred picture Morred  ·  14تعليقات

emarthinsen picture emarthinsen  ·  8تعليقات

Integralist picture Integralist  ·  5تعليقات

RKushnir picture RKushnir  ·  14تعليقات