Rspec-core: Mehrere Arten von Spezifikationen in Metadaten

Erstellt am 24. Okt. 2016  ·  3Kommentare  ·  Quelle: rspec/rspec-core

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)

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.

Alle 3 Kommentare

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!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen