كيف يمكنني كعب أو سخرية من طريقة request.subdomains في القضبان؟
-
05-07-2019 - |
سؤال
وأنا أحاول أن أكتب بعض الاختبارات الوظيفية في بلدي القضبان التطبيق، وفي application_controller.rb لدي هذا:
before_filter :current_account
def current_account
@current_account ||= Account.find_by_subdomain!(request.subdomians.first)
end
عند تشغيل الاختبارات، request.subdomains
لا يحتوي على النطاقات الفرعية صالحة أنا أبحث عن ويجعل من المستحيل لتشغيل أي اختبارات وظيفية.
هل من الممكن كعب طريقة current_account
أو يسخر الكائن request.subdomains
؟
المحلول
في اختبار وظيفي الخاص بك يجب أن تكون قادرة على القيام (باستخدام المخاوي):
@request.expects(:subdomains).returns(['www'])
نصائح أخرى
للي (ومع القضبان 2.3.4)، وبيان الصحيح
@controller.request.expects(:subdomains).returns(['www'])
ومنذ أن كنت لا يمكن الوصول إلىrequest مباشرة.
@controller.instance_variable_set(:@request, OpenStruct.new({:subdomains => 'www'}))
ويمكنك الوصول إلى أي شيء في روبي:)
لا تنتمي إلى StackOverflow