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

Add API for managing aliases of `describe` #493

Closed
dchelimsky opened this issue Nov 1, 2011 · 3 comments
Closed

Add API for managing aliases of `describe` #493

dchelimsky opened this issue Nov 1, 2011 · 3 comments

Comments

@dchelimsky
Copy link
Member

@dchelimsky dchelimsky commented Nov 1, 2011

rspec-core has configuration APIs for managing aliases for example (e.g. it) and shared_examples (e.g. it_behaves_like), but there is no such API for managing aliases for describe (which should be renamed to example_group and then aliased as describe and context).

As of 2.7, describe is available at all levels, but context is only available within an example group declaration.

I'd propose something along the lines of this:

RSpec.configure do |c|
  c.alias_example_group_to :describe, :top_level => true
  c.alias_example_group_to :context, :top_level => false
end

We should also be able to turn off all top-level names if we want, so users concerned with describe, context, et al bleeding into their code can say:

RSpec.describe Thing do
  it "does something"
end
@samwgoldman
Copy link

@samwgoldman samwgoldman commented Nov 1, 2011

Would this allow the aliases to define custom behavior? It doesn't look like it would be possible. I'm thinking along the lines of how capybara/rpsec adds metadata when defining it's feature method.

@dchelimsky
Copy link
Member Author

@dchelimsky dchelimsky commented Nov 1, 2011

@samwgoldman - yes, that would be the idea. Otherwise it adds zero value over alias

@myronmarston
Copy link
Member

@myronmarston myronmarston commented Apr 11, 2013

Now that we have a PR (#870), I'm going to close this to focus discussion there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
3 participants
You can’t perform that action at this time.