Thanks for the explanation Jon!

And thanks for the workaround solution, that will be enough!



On Fri, Oct 16, 2020 at 4:56 AM Jon Rowe <[email protected]> wrote:

> Hi Marcelo
>
> Thanks for bringing this to the mailing list, unfortunately thats
> something we wouldn’t be interested in adding to rspec-rails, for a couple
> of reasons.
>
> The main reason being we don’t support 3rd party libraries other than
> Rails own dependencies directly within rspec-rails, given the size of the
> rails eco system this would lead to massive feature bloat on our part, we
> prefer to provide the tools for other gems to hook into us, even if it’s
> just with a `rspec-view_component` style gem etc.
>
> We also consider `infer_spec_type_from_file_location!` to be a legacy
> feature for older rails test suites so don’t want to encourage further
> adoption (we’d like to deprecate it and remove it one day).
>
> However you can add the type yourself to get the functionality you want,
> rspec-rails uses the public rspec api’s to do this like so:
>
>     RSpec.configure do |c|
>       c.define_derived_metadata(file_path:  /spec[\\\/]components[\\\/]/)
> do |metadata|
>         metadata[:type] ||= :component
>       end
>     end
>
> This would be added to your spec helper and should allow you to not have
> to declare the component type manually, you could even suggest it to the
> view_component authors as part of any test helpers they have.
>
> Cheers
> Jon
> ----------------
> [email protected]
> https://jonrowe.co.uk
>
> On 15 October 2020 at 22:45, Marcelo Lauxen wrote:
>
> Hello guys, I was ready to open a feature request, but I'm not sure if it
> would make sense for rspec-rails so I'm asking about this here.
>
> This gem github/view_component <https://github.com/github/view_component>
> allow us build components for rails, and their convention is put specs on
> "spec/components", we need add TestHelpers
> github/view_component#setting-up-rspec
> <https://github.com/github/view_component#setting-up-rspec> on the
> configuration for specs of *:component *type and thats fine, but the only
> think which is frustating me is the fact that rspec-rails isn't able to
> infer the type of the spec based on the file location, because the
> directory mappings doesn't include `spec/components`
> rspec/rails/configuration.rb#L28
> <https://github.com/rspec/rspec-rails/blob/main/lib/rspec/rails/configuration.rb#L28>
>  and
> at our projects we use the *infer_spec_type_from_file_location! *to avoid
> the needing of set the spec type, but only for view_components we need
> define the type.
>
> In theory only add "component:  %w[spec components]" to the directory
> mappings would be enough, but because view_component isn't a rails feature
> I'm not sure if this would make sense to the project and maybe the best
> approach would be set the type of the spec on each file for this cases.
>
> What is your opinion on this? I'm a newbie on ruby/rails/rspec stack and
> maybe I'm saying a lot of bullshit here (my English is not the best, too),
> sorry for anything.
>
>
>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "rspec" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/rspec/clOruGlpuMs/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/rspec/dejalu-217-5562a0e3-bb7d-4115-b9b8-8c9a595359af%40jonrowe.co.uk
> <https://groups.google.com/d/msgid/rspec/dejalu-217-5562a0e3-bb7d-4115-b9b8-8c9a595359af%40jonrowe.co.uk?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"rspec" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rspec/CANKisB0chPc4sMWJRs6ZvgWD1GsAqMKzMmPOkME7J%3DKoCLVZDQ%40mail.gmail.com.

Reply via email to