-
-
Notifications
You must be signed in to change notification settings - Fork 161
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
Use RSpec annotations instead of included class to trigger RSpec hooks #881
Draft
mvz
wants to merge
6
commits into
main
Choose a base branch
from
simplify-rspec-setup
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
mvz
force-pushed
the
simplify-rspec-setup
branch
from
December 25, 2022 14:19
091e68f
to
d2045b8
Compare
Needs work since the specs secretly relied on the hooks in aruba/rspec 😢 |
Since we already use :type to trigger inclusion of Aruba::Api, we can safely use it to activate the around hooks as well. This also increases safety for custom integrations, since having those work correctly depended on "aruba/rspec" never being loaded.
mvz
force-pushed
the
simplify-rspec-setup
branch
from
March 17, 2024 14:27
d2045b8
to
40a2fad
Compare
olleolleolle
approved these changes
Mar 17, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚀 Looks super!
(Well, the idea is super. Some order-of-operations may still be in our way.)
8 tasks
In particular, if we use the shared context 'uses aruba API', we have an object @aruba that includes Aruba::Api, and all the methods available on that are also available on each spec example. The results can be different however, since each has its own config instance.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Use
type: :aruba
to trigger all RSpec hooks in the default integration, replacing the check for inclusion of Aruba::Api.Details
When using the default aruba/rspec integration, the initial inclusion of
Aruba::Api
was triggered by atype: :aruba
annotation to the spec, but the other hooks were filtered by a check for inclusion of Aruba::Api.Since we already use :type to trigger inclusion of Aruba::Api, we can safely use it to activate the around hooks as well, thus simplifying the code
This also increases safety for custom integrations, since having those work correctly depended on "aruba/rspec" never being loaded.
Motivation and Context
This improves simplicity of the code by relying on existing mechanisms instead of introducing our own.
How Has This Been Tested?
CI will check this
Types of changes