بيئة
Rails 4.2.0
ruby-2.2.1 [ x86_64 ]
rspec-core 3.2.2
rspec-rails 3.2.1
في بلدي /spec/rails_helper.rb لقد تضمنت المساعدين إيصائية لملفات المواصفات ذات الكلمات الدلالية مع type: :controller
RSpec.configure do |config|
...
....
config.include Devise::TestHelpers, type: :controller
end
الآن أنا بحاجة إلى هؤلاء المساعدين لملفات المواصفات الموسومة بـ type: :request
. هل هناك شرط لتحديد قيم متعددة لخيار :type
؟ على سبيل المثال
config.include Devise::TestHelpers, type: :controller, :request
أو
config.include Devise::TestHelpers, types: [:controller, :request]
شكرا،
جيجنيش
ستحتاج إلى كتابة التضمين مرة أخرى:
config.include Devise::TestHelpers, type: :request
مطابقات البيانات الوصفية دقيقة. لذلك يتوقع type: [:controller, :request]
مواصفات من النوع المحدد كمصفوفة.
أتفق مع jiggneshhgohel عندما أرى الكود التالي لدي غريزة أنه يشبه القضبان ويمكنني تغييره إلى types
وسيعمل جميعًا. أفهم ما تتحدث عنه cupakromer لكنه سبب تقني. يجب أن يستوعب تصميم الواجهة ما يتوقع المستخدم أن يكون قادرًا على القيام به.
على الأقل ، يجب أن نعطي تحذيرًا "خيار مرشح غير مدعوم types
" إن أمكن.
أنا فقط استخدم حلقة لحفظ بعض ضغطات المفاتيح. (بهذه الطريقة يمكنني أيضًا تضمين الوحدة النمطية ControllerMacros
دون الحاجة إلى الحصول على WET.)
for type in [:controller, :request] do
config.include Devise::Test::ControllerHelpers, type: type
config.extend ControllerMacros, type: type
end
هدفي هو الحصول على نوع لـ: controller &: model
لم ينجح الاقتراح أعلاه في نهايتي.
حاولت إزالة وسيطة النوع ، وهي تعمل مع كل من: controller &: model
التعليق الأكثر فائدة
ستحتاج إلى كتابة التضمين مرة أخرى:
مطابقات البيانات الوصفية دقيقة. لذلك يتوقع
type: [:controller, :request]
مواصفات من النوع المحدد كمصفوفة.