-
-
Notifications
You must be signed in to change notification settings - Fork 763
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
http://rspec.info/blog/2013/07/the-plan-for-rspec-3/#zero_monkey_patching_mode > we do want to encourage people to switch to the new syntax, so we plan to make RSpec 3 print a warning on first usage of any the old syntax methods (should, should_not, should_receive, etc) unless the should syntax has been explicitly enabled. This should nudge folks towards the new syntax while keeping RSpec friendly to new users and will pave the way for the old syntax to be disabled by default in RSpec 4. > zero-monkey-patching mode for RSpec... We plan for these config options to become the defaults in RSpec 4.0, so that RSpec 4.0 will have zero monkey patching out of the box. As for "disabled by default" vs "completely removed" and "default, out of the box" vs "impossible" I can only say that RSpec 4 was probably planned to be released earlier, as: > we'll probably be dropping support for 1.8.7 in RSpec 4 but we've also dropped 1.9, 2.0, 2.1 and 2.2 #2301 (comment) > In RSpec 4, we plan to extract all monkey patching from RSpec and move it into a separate gem, so that monkey patching is opt-in instead of opt-out and users have to explicitly install and load a gem to get it. `rspec-should` (or `rspec-monkey` as it's also about exposing example group DSL in the top-level/Module?) will be released later. Those using the monkey-patched `should` syntax are not encouraged to update to RSpec 4 until this gem is extracted. Those using the globally-exposed DSL are encouraged to use `RSpec.describe`/`RSpec.shared_examples_for` instead.
- Loading branch information
Showing
16 changed files
with
30 additions
and
596 deletions.
There are no files selected for viewing
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
This file was deleted.
Oops, something went wrong.
106 changes: 0 additions & 106 deletions
106
features/configuration/zero_monkey_patching_mode.feature
This file was deleted.
Oops, something went wrong.
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,29 +1,10 @@ | ||
if defined?(Cucumber) | ||
require 'shellwords' | ||
Before('~@allow-should-syntax', '~@with-clean-spec-opts') do | ||
Before('~@with-clean-spec-opts') do | ||
set_environment_variable('SPEC_OPTS', "-r#{Shellwords.escape(__FILE__)}") | ||
end | ||
|
||
Before('@oneliner-should') do | ||
set_environment_variable('ALLOW_ONELINER_SHOULD', 'true') | ||
end | ||
else | ||
if ENV['REMOVE_OTHER_RSPEC_LIBS_FROM_LOAD_PATH'] | ||
$LOAD_PATH.reject! { |x| /rspec-mocks/ === x || /rspec-expectations/ === x } | ||
end | ||
|
||
module DisallowOneLinerShould | ||
def should(*) | ||
raise "one-liner should is not allowed" | ||
end | ||
|
||
def should_not(*) | ||
raise "one-liner should_not is not allowed" | ||
end | ||
end | ||
|
||
RSpec.configure do |rspec| | ||
rspec.disable_monkey_patching! | ||
rspec.include DisallowOneLinerShould unless ENV['ALLOW_ONELINER_SHOULD'] | ||
end | ||
end |
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
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
Oops, something went wrong.