Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ensure mocks config available #2823

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ group :documentation do
end

gem 'capybara'
gem 'ffi', '~> 1.15.5'
gem 'ffi', '> 1.15.5'
gem 'rake', '> 12'
gem 'rubocop', '~> 1.28.2'

Expand Down
1 change: 1 addition & 0 deletions lib/rspec/rails/matchers/active_job.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
require "active_job/base"
require "active_job/arguments"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We check if mocks are defined here. Should we do the same here instead of requiring what’s not used?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The difference is here we are actually using it

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We’re only using it if verified partial doubles are checked, right? Which is not the case when RSpec is configured to mock with an alternative framework. Or am I missing something? It looks like before #2808 everything worked just fine, but apparently rspec-mocks were not required and RSpec::Mocks was not defined, and no problem.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't want to skip the check just because someone is using another mocking framework

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If someone is using another framework, the result of the check will always be false. So it’s not that we skip it, we shortcut it.

require "rspec/mocks"

module RSpec
module Rails
Expand Down
Loading