كيف يمكنني كعب أو سخرية من طريقة request.subdomains في القضبان؟

StackOverflow https://stackoverflow.com/questions/1004832

سؤال

وأنا أحاول أن أكتب بعض الاختبارات الوظيفية في بلدي القضبان التطبيق، وفي 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'}))

ويمكنك الوصول إلى أي شيء في روبي:)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top