Skip to content

Wrap examples with Rails executor #2713

@bensheldon

Description

@bensheldon

Describe the solution you'd like

In #2644, Execution Contexts were cleared, but did not go to fully wrapping specs with a Rails Executor. In the current version of Rails (7.1) TestCases look like this:

ActiveSupport.on_load(:active_support_test_case) do
  if app.config.active_support.executor_around_test_case
    require "active_support/executor/test_helper"
    include ActiveSupport::Executor::TestHelper
  else
    require "active_support/current_attributes/test_helper"
    include ActiveSupport::CurrentAttributes::TestHelper

    require "active_support/execution_context/test_helper"
    include ActiveSupport::ExecutionContext::TestHelper
  end
end

...and it would be nice if rspec-rails offered that too of using ActiveSupport::Executor::TestHelper

Activity

JonRowe

JonRowe commented on Nov 17, 2023

@JonRowe
Member

See also #2712 for build failures attempting this caused.

added a commit that references this issue on Apr 6, 2024
javierjulio

javierjulio commented on Apr 6, 2024

@javierjulio
Contributor

I found my way here for the CurrentAttributes reset portion but seems several of these things are tied together. Worth noting that even with a rails spec type (e.g. type: :request) CurrentAttributes are not reset in rspec-rails. I've created #2752 and #2753 to help address this. The former is a temporary fix considering the current state of the RailsExampleGroup to match what Rails does for that condition. It will reset CurrentAttributes for each example. The ideal fix is in the latter which should use either the executor or the individual test helpers like noted in the description here.

added a commit that references this issue on Apr 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @bensheldon@JonRowe@javierjulio

        Issue actions

          Wrap examples with Rails executor · Issue #2713 · rspec/rspec-rails