メタデータに複数の種類の仕様を定義したいのですが、現在はできません。
次のようなものを定義したいと思います。
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)
あなたはこれを行うことができます:
%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
になるとは思いません。 これらの場合には、いくつかのワンライナーソリューションが最適です。 私は、私が提案したものに感謝するのは私だけだとは思いません。
現在、メタデータ値を単純な値として扱っていることを考えると、あいまいなことは言うまでもなく、それらに特別な意味を与え始めるのは本当に混乱します。
最も参考になるコメント
上記の解決策が読みやすさを改善し、
spec/rails_helper
になるとは思いません。 これらの場合には、いくつかのワンライナーソリューションが最適です。 私は、私が提案したものに感謝するのは私だけだとは思いません。