Always clear runner strategy after each test case

Otherwise, we get different test results depending on the test order.
This commit is contained in:
Sebastian Serth
2023-06-22 19:45:10 +02:00
parent 837c904192
commit ccbf41005b
4 changed files with 19 additions and 6 deletions

19
spec/support/runner.rb Normal file
View File

@ -0,0 +1,19 @@
# frozen_string_literal: true
def reset_runner_strategy
Runner.instance_variable_set :@strategy_class, nil
Runner.instance_variable_set :@management_active, nil
end
RSpec.configure do |config|
# When starting the application, the environment is initialized with the default runner strategy:
# `Runner.strategy_class.initialize_environment` is called in `config/application.rb`.
config.before(:suite) do
reset_runner_strategy
end
# After each test, we reset the memorized runner strategy to the default (similar to the database cleaner).
config.append_after do
reset_runner_strategy
end
end