-
-
Notifications
You must be signed in to change notification settings - Fork 1k
Open
Description
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
semaperepelitsa, joergschiller, willnet, javierjulio, yenshirak and 1 more
Activity
JonRowe commentedon Nov 17, 2023
See also #2712 for build failures attempting this caused.
Wrap examples with Rails executor
javierjulio commentedon Apr 6, 2024
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.Wrap examples with Rails executor
ActiveSupport::CurrentAttributes
can be inconsistent due to hook ordering #2773