Rspec-rails: config.include الاستخدام بالطريقة التالية: config.include "ModuleName" ، اكتب: "علامات متعددة هنا"

تم إنشاؤها على ٨ أبريل ٢٠١٥  ·  4تعليقات  ·  مصدر: rspec/rspec-rails

بيئة

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] مواصفات من النوع المحدد كمصفوفة.

ال 4 كومينتر

ستحتاج إلى كتابة التضمين مرة أخرى:

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

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