Ich möchte mehrere Arten von Spezifikationen für Metadaten definieren, aber das ist derzeit nicht möglich.
Ich möchte Dinge definieren wie:
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))
Derzeit muss ich die Definitionen duplizieren.
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)
Du kannst das:
%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
Angesichts dessen, wie einfach es ist, mit einer einfachen Schleife umzugehen, sehe ich keinen Grund für uns, Unterstützung für das hinzuzufügen, wonach Sie fragen - insbesondere, da dies meiner Meinung nach eine sehr implizite, verwirrende Möglichkeit für den Abgleich von Metadaten wäre .
Ich glaube nicht, dass die obige Lösung die Lesbarkeit verbessert und in spec/rails_helper
. Eine einzeilige Lösung wäre für diese Fälle großartig. Ich glaube nicht, ich bin der Einzige, der etwas zu schätzen wissen würde, was ich vorgeschlagen habe.
Angesichts der Tatsache, dass wir Metadatenwerte derzeit als einfache Werte behandeln, wäre es wirklich verwirrend, ihnen eine besondere Bedeutung zu geben, ganz zu schweigen von mehrdeutigen!
Hilfreichster Kommentar
Ich glaube nicht, dass die obige Lösung die Lesbarkeit verbessert und in
spec/rails_helper
. Eine einzeilige Lösung wäre für diese Fälle großartig. Ich glaube nicht, ich bin der Einzige, der etwas zu schätzen wissen würde, was ich vorgeschlagen habe.