Rspec-core: أنواع متعددة من المواصفات في البيانات الوصفية

تم إنشاؤها على ٢٤ أكتوبر ٢٠١٦  ·  3تعليقات  ·  مصدر: rspec/rspec-core

أرغب في تحديد أنواع متعددة من المواصفات للبيانات الوصفية ، لكن هذا غير ممكن حاليًا.

أود تحديد أشياء مثل:

config.when_first_matching_example_defined(types: %i(feature request)) do
  # enable db support only for feature or request specs
  require 'support/db'
end

# include these Helpers only into feature or request specs
config.include(Helpers, types: %i(feature request))

حاليا لا بد لي من تكرار التعاريف.

config.when_first_matching_example_defined(types: :feature) do
  require 'support/db'
end

config.when_first_matching_example_defined(types: :request) do
  require 'support/db'
end

config.include(Helpers, type: :feature)
config.include(Helpers, type: :request)

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

لا أعتقد أن الحل أعلاه يحسن قابلية القراءة وفي spec/rails_helper . قد يكون حل خط واحد رائعًا لهذه الحالات. لا أعتقد ، أنا وحدي من سيقدر شيئًا ما اقترحته.

ال 3 كومينتر

انت تستطيع فعل ذالك:

%i(feature request).each do |type|
  config.when_first_matching_example_defined(type: type) do
    # enable db support only for feature or request specs
    require 'support/db'
  end

  # include these Helpers only into feature or request specs
  config.include(Helpers, type: type)
end

نظرًا لمدى سهولة التعامل مع حلقة بسيطة ، لا أرى سببًا لنا لإضافة دعم لما تطلبه - خاصةً لأنها ستكون طريقة ضمنية ومربكة للغاية لمطابقة البيانات الوصفية ، IMO .

لا أعتقد أن الحل أعلاه يحسن قابلية القراءة وفي spec/rails_helper . قد يكون حل خط واحد رائعًا لهذه الحالات. لا أعتقد ، أنا وحدي من سيقدر شيئًا ما اقترحته.

بالنظر إلى أننا نتعامل حاليًا مع قيم البيانات الوصفية كقيم بسيطة ، فسيكون من المربك حقًا البدء في إعطائها معنى خاصًا ، ناهيك عن الغموض!

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