Recent Releases of https://github.com/rspec/rspec-core
https://github.com/rspec/rspec-core - 2.14.8
2.14.8 / 2014-02-27
Bug fixes:
- Fix regression with the
TextMateFormatterthat prevented backtrace links
from being clickable. (Stefan Daschek)
- Ruby
Published by myronmarston about 12 years ago
https://github.com/rspec/rspec-core - 2.99.0.beta2
2.99.0.beta2 / 2014-02-17
Enhancements:
- Add
is_expectedfor one-liners that read well with the
expect-based syntax.is_expectedis simply defined as
expect(subject)and can be used in an expression like:
it { is_expected.to read_well }. (Myron Marston) - Backport
skipfrom RSpec 3, which acts likependingdid in RSpec 2
when not given a block, since the behavior ofpendingis changing in
RSpec 3. (Xavier Shay)
Deprecations:
- Deprecate inexact
mock_withconfig options. RSpec 3 will only support
the exact symbols:rspec,:mocha,:flexmock,:rror:nothing
(or any module that implements the adapter interface). RSpec 2 did
fuzzy matching but this will not be supported going forward.
(Myron Marston) - Deprecate
show_failures_in_pending_blocksconfig option. To achieve
the same behavior as the option enabled, you can use a custom
formatter instead. (Xavier Shay) - Add a deprecation warning for the fact that the behavior of
pending
is changing in RSpec 3 -- rather than skipping the example (as it did
in 2.x when no block was provided), it will run the example and mark
it as failed if no exception is raised. Useskipinstead to preserve
the old behavior. (Xavier Shay) - Deprecate 's', 'n', 'spec' and 'nested' as aliases for documentation
formatter. (Jon Rowe) - Deprecate
RSpec::Core::Reporter#abortin favor of
RSpec::Core::Reporter#finish. (Jon Rowe)
Bug Fixes:
- Fix failure (undefined method
path) in end-of-run summary
whenraise_errors_for_deprecations!is configured. (Myron Marston) - Fix issue were overridding spec ordering from the command line wasn't
fully recognised interally. (Jon Rowe)
- Ruby
Published by myronmarston about 12 years ago
https://github.com/rspec/rspec-core - 3.0.0.beta2
3.0.0.beta2 / 2014-02-17
Breaking Changes for 3.0.0:
- Make
mock_withoption more strict. Strings are no longer supported
(e.g.mock_with "mocha") -- use a symbol instead. Also, unrecognized
values will now result in an error rather than falling back to the
null mocking adapter. If you want to use the null mocking adapter,
usemock_with :nothing(as has been documented for a long time).
(Myron Marston) - Remove support for overriding RSpec's built-in
:ifand:unless
filters. (Ashish Dixit) - Custom formatters are now required to call
RSpec::Core::Formatters.register(formatter_class, *notifications)
wherenotificationsis the list of events the formatter wishes to
be notified about. Notifications are handled by methods matching the
names on formatters. This allows us to add or remove notifications
without breaking existing formatters. (Jon Rowe) - Change arguments passed to formatters. Rather than passing multiple
arguments (which limits are ability to add additional arguments as
doing so would break existing formatters), we now pass a notification
value object that exposes the same data via attributes. This will
allow us to add new bits of data to a notification event without
breaking existing formattesr. (Jon Rowe) - Remove support for deprecated
:aliasoption for
RSpec.configuration.add_setting. (Myron Marston) - Remove support for deprecated
RSpec.configuration.requires = [...].
(Myron Marston) - Remove support for deprecated
--formatterCLI option. (Myron Marston) - Remove support for deprecated
--configureCLI option. (Myron Marston) - Remove support for deprecated
RSpec::Core::RakeTask#spec_opts=.
(Myron Marston) - An example group level
pendingblock or:pendingmetadata now executes
the example and cause a failure if it passes, otherwise it will be pending if
it fails. The old "never run" behaviour is still used forxexample,xit,
andxspecify, or via a newskipmethod or:skipmetadata option.
(Xavier Shay) - After calling
pendinginside an example, the remainder of the example will
now be run. If it passes a failure is raised, otherwise the example is marked
pending. The old "never run" behaviour is provided a by a newskipmethod.
(Xavier Shay) - Pending blocks inside an example have been removed as a feature with no
direct replacement. Useskiporpendingwithout a block. (Xavier Shay) - Pending statement is no longer allowed in
before(:all)hooks. Useskip
instead. (Xavier Shay) - Remove
show_failures_in_pending_blocksconfiguration option. (Xavier Shay) - Remove support for specifying the documentation formatter using
's', 'n', 'spec' or 'nested'. (Jon Rowe)
Enhancements:
- Add
is_expectedfor one-liners that read well with the
expect-based syntax.is_expectedis simply defined as
expect(subject)and can be used in an expression like:
it { is_expected.to read_well }. (Myron Marston) - Add example run time to JSON formatter output. (Karthik Kastury)
- Add more suggested settings to the files generated by
rspec --init. (Myron Marston) - Add
config.alias_example_group_to, which can be used to define a
new method that defines an example group with the provided metadata.
(Michi Huber) - Add
xdescribeandxcontextas shortcuts to make an example group
pending. (Myron Marston) - Add
fdescribeandfcontextas shortcuts to focus an example group.
(Myron Marston) - Don't autorun specs via
#at_exitby default.require 'rspec/autorun'
is only needed when running specs viaruby, as it always has been.
Running specs viarakeorrspecare both unaffected. (Ben Hoskings) - Add
expose_dsl_globallyconfig option, defaulting to true. When disabled
it will remove the monkey patches rspec-core adds tomainandModule
(e.g.describe,shared_examples_for, etc). (Jon Rowe) - Expose RSpec DSL entry point methods (
describe,
shared_examples_for, etc) on theRSpecconstant. Intended for use
whenexpose_dsl_globallyis set tofalse. (Jon Rowe) - For consistency, expose all example group aliases (including
context) on theRSpecconstant. Ifexpose_dsl_globallyis set to
true, also expose them onmainandModule. Historically, onlydescribe
was exposed. (Jon Rowe, Michi Huber)
Bug Fixes:
- Fix failure (undefined method
path) in end-of-run summary
whenraise_errors_for_deprecations!is configured. (Myron Marston) - Issue error when attempting to use -i or --I on command line,
too close to -I to be considered short hand for --init. (Jon Rowe) - Prevent adding formatters to an output target if the same
formatter has already been added to that output. (Alex Peattie) - Allow a matcher-generated example description to be used when
the example is pending. (Myron Marston) - Ensure the configured
failure_exit_codeis used by the rake
task when there is a failure. (Jon Rowe) - Restore behaviour whereby system exclusion filters take priority over working
directory (was broken in beta1). (Jon Rowe) - Prevent RSpec mangling file names that have substrings containing
line_number
ordefault_path. (Matijs van Zuijlen)
- Ruby
Published by myronmarston about 12 years ago
https://github.com/rspec/rspec-core - 3.0.0.beta1
3.0.0.beta1 / 2013-11-07
Breaking Changes for 3.0.0:
- Remove explicit support for 1.8.6. (Jon Rowe)
- Remove
RSpec::Core::ExampleGroup#exampleand
RSpec::Core::ExampleGroup#running_examplemethods. If you need
access to the example (e.g. to get its metadata), use a block arg
instead. (David Chelimsky) - Remove
TextMateFormatter, it has been moved torspec-tmbundle.
(Aaron Kromer) - Remove RCov integration. (Jon Rowe)
- Remove deprecated support for RSpec 1 constructs (Myron Marston):
- The
SpecandRspecconstants (rather thanRSpec). Spec::Runner.configurerather thanRSpec.configure.Rake::SpecTaskrather thanRSpec::Core::RakeTask.
- The
- Remove deprecated support for
share_as. (Myron Marston) - Remove
--debugoption (and corresponding option on
RSpec::Core::Configuration). Instead, use-r<debugger gem name>to
load whichever debugger gem you wish to use (e.g.ruby-debug,
debugger, orpry). (Myron Marston) - Extract Autotest support to a seperate gem. (Jon Rowe)
- Raise an error when a
letorsubjectdeclaration is
accessed in abefore(:all)orafter(:all)hook. (Myron Marston) - Extract
itssupport to a separate gem. (Peter Alfvin) - Disallow use of a shared example group from sibling contexts, making them
fully isolated. 2.14 and 2.99 allowed this but printed a deprecation warning.
(Jon Rowe) - Remove
RSpec::Core::Configuration#outputand
RSpec::Core::Configuration#outaliases of
RSpec::Core::Configuration#output_stream. (Myron Marston)
Enhancements
- Replace unmaintained syntax gem with coderay gem. (Xavier Shay)
- Times in profile output are now bold instead of
failure_color.
(Matthew Boedicker) - Add
--no-fail-fastcommand line option. (Gonzalo Rodríguez-Baltanás Díaz) - Runner now considers the local system ip address when running under Drb.
(Adrian CB) - JsonFormatter now includes
--profileinformation. (Alex / @MasterLambaster) - Always treat symbols passed as metadata args as hash
keys with true values. RSpec 2 supported this with the
treat_symbols_as_metadata_keys_with_true_valuesbut
now this behavior is always enabled. (Myron Marston) - Add
--dry-runoption, which prints the formatter output
of your suite without running any examples or hooks.
(Thomas Stratmann, Myron Marston) - Document the configuration options and default values in the
spec_helper.rb
file that is generated by RSpec. (Parker Selbert) - Give generated example group classes a friendly name derived
from the docstring, rather than something like "Nested_2".
(Myron Marston) - Avoid affecting randomization of user code when shuffling
examples so that users can count on their own seeds
working. (Travis Herrick)
Deprecations
treat_symbols_as_metadata_keys_with_true_valuesis deprecated and no
longer has an affect now that the behavior it enabled is always
enabled. (Myron Marston)
- Ruby
Published by myronmarston over 12 years ago
https://github.com/rspec/rspec-core - 2.99.0.beta1
2.99.0.beta1 / 2013-11-07
Enhancements
- Block-based DSL methods that run in the context of an example
(it,before(:each),after(:each),letandsubject)
now yield the example as a block argument. (David Chelimsky) - Warn when the name of more than one example group is submitted to
include_examplesand it's aliases. (David Chelimsky) - Add
expose_current_running_example_asconfig option for
use during the upgrade process when external gems use the
deprecatedRSpec::Core::ExampleGroup#exampleand
RSpec::Core::ExampleGroup#running_examplemethods. (Myron Marston) - Limit spamminess of deprecation messages. (Bradley Schaefer, Loren Segal)
- Add
config.raise_errors_for_deprecations!option, which turns
deprecations warnings into errors to surface the full backtrace
of the call site. (Myron Marston)
Deprecations
- Deprecate
RSpec::Core::ExampleGroup#exampleand
RSpec::Core::ExampleGroup#running_examplemethods. If you need
access to the example (e.g. to get its metadata), use a block argument
instead. (David Chelimsky) - Deprecate use of
autotest/rspec2in favour ofrspec-autotest. (Jon Rowe) - Deprecate RSpec's built-in debugger support. Use a CLI option like
-rruby-debug(for the ruby-debug gem) or-rdebugger(for the
debugger gem) instead. (Myron Marston) - Deprecate
RSpec.configuration.treat_symbols_as_metadata_keys_with_true_values = false.
RSpec 3 will not support having this option set tofalse. (Myron Marston) - Deprecate accessing a
letorsubjectdeclaration in
aafter(:all)hook. (Myron Marston, Jon Rowe) - Deprecate built-in
itsusage in favor ofrspec-itsgem due to planned
removal in RSpec 3. (Peter Alfvin) - Deprecate
RSpec::Core::PendingExampleFixedErrorin favor of
RSpec::Core::Pending::PendingExampleFixedError. (Myron Marston) - Deprecate
RSpec::Core::Configuration#outand
RSpec::Core::Configuration#outputin favor of
RSpec::Core::Configuration#output_stream. (Myron Marston) - Deprecate legacy ordering APIs.
- You should use
register_ordering(:global)instead of these:RSpec::Core::Configuration#order_examplesRSpec::Core::Configuration#order_groupsRSpec::Core::Configuration#order_groups_and_examples
- These are deprecated with no replacement because in RSpec 3
ordering is a property of individual example groups rather than
just a global property of the entire test suite:RSpec::Core::Configuration#orderRSpec::Core::Configuration#randomize?
--order defaultis deprecated in favor of--order defined
(Myron Marston)
- You should use
- Ruby
Published by myronmarston over 12 years ago
https://github.com/rspec/rspec-core - 2.14.7
2.14.7 / 2013-10-29
Bug fixes:
- Fix regression in 2.14.6 that broke the Fivemat formatter.
It depended upon either
example.execution_result[:exception].pending_fixed?(which
was removed in 2.14.6 to fix an issue with frozen error objects)
orRSpec::Core::PendingExampleFixedError(which was renamed
toRSpec::Core::Pending::PendingExampleFixedErrorin 2.8.
This fix makes a constant alias for the old error name.
(Myron Marston)
- Ruby
Published by myronmarston over 12 years ago
https://github.com/rspec/rspec-core - 2.14.6
2.14.6 / 2013-10-15
Bug fixes:
- Format stringified numbers correctly when mathn library is loaded.
(Jay Hayes) - Fix an issue that prevented the use of frozen error objects. (Lars
Gierth)
- Ruby
Published by myronmarston over 12 years ago
https://github.com/rspec/rspec-core - 2.14.5
2.14.5 / 2013-08-13
Bug fixes:
- Fix a
NoMethodErrorthat was being raised when there were no shared
examples or contexts declared andRSpec.world.resetis invoked.
(thepoho, Jon Rowe, Myron Marston) - Fix a deprecation warning that was being incorrectly displayed when
shared_examplesare declared at top level in amodulescope.
(Jon Rowe) - Fix after(:all) hooks so consecutive (same context) scopes will run even if
one raises an error. (Jon Rowe, Trejkaz) - JsonFormatter no longer dies if
dump_profileisn't defined (Alex / @MasterLambaster, Jon Rowe)
- Ruby
Published by myronmarston over 12 years ago
https://github.com/rspec/rspec-core - 2.14.4
2.14.4 / 2013-07-21
Bug fixes
- Fix regression in 2.14: ensure configured requires (via
-roption)
are loaded before spec files are loaded. This allows the spec files
to programatically change the file pattern (Jon Rowe). - Autoload
RSpec::MocksandRSpec::Expectationswhen referenced if
they are not already loaded (RSpec::Matcheshas been autoloaded
for a while). In therspecgem, we changed it recently to stop
loadingrspec/mocksandrspec/expectationsby default, as some
users reported problems where they were intending to use mocha,
not rspec-mocks, but rspec-mocks was loaded and causing a conflict.
rspec-core loads mocks and expectations at the appropriate time, so
it seemed like a safe change -- but caused a problem for some authors
of libraries that integrate with RSpec. This fixes that problem.
(Myron Marston) - Gracefully handle a command like
rspec --profile path/to/spec.rb:
thepath/to/spec.rbarg was being wrongly treated as theprofile
integer arg, which got cast0usingto_i, causing no profiled
examples to be printed. (Jon Rowe)
- Ruby
Published by myronmarston over 12 years ago
https://github.com/rspec/rspec-core - 2.14.3
2.14.3 / 2013-07-13
Bug fixes
- Fix deprecation notices issued from
RSpec::Core::RakeTaskso
that they work properly when all of rspec-core is not loaded.
(This was a regression in 2.14) (Jon Rowe)
- Ruby
Published by myronmarston over 12 years ago
https://github.com/rspec/rspec-core - 2.14.2
2.14.2 / 2013-07-09
Bug fixes
- Fix regression caused by 2.14.1 release: formatters that
report that theyrespond_to?a notification, but had
no corresponding method would raise an error when registered.
The new fix is to just implementstarton the deprecation
formatter to fix the original JRuby/ruby-debug issue.
(Jon Rowe)
- Ruby
Published by myronmarston over 12 years ago
https://github.com/rspec/rspec-core -
2.14.1 / 2013-07-08
Bug fixes
- Implement
#starton the Deprecation Formatter to prevent collision with
ruby-debugon JRuby (Alex Portnov, Jon Rowe)
- Ruby
Published by myronmarston over 12 years ago
https://github.com/rspec/rspec-core - 2.14.0
2.14.0 / 2013-07-06
Enhancements
- Apply focus to examples defined with
fit(equivalent of
it "description", focus: true) (Michael de Silva)
Bug fix
- Ensure methods defined by
lettake precedence over others
when there is a name collision (e.g. from an included module).
(Jon Rowe, Andy Lindeman and Myron Marston)
2.14.0.rc1 / 2013-05-27
Enhancements
- Improved Windows detection inside Git Bash, for better
--colorhandling. - Add profiling of the slowest example groups to
--profileoption.
The output is sorted by the slowest average example groups. - Don't show slow examples if there's a failure and both
--fail-fast
and--profileoptions are used (Paweł Gościcki). - Rather than always adding
specto the load path, add the configured
--default-pathto the load path (which defaults tospec). This
better supports folks who choose to put their specs in a different
directory (John Feminella). - Add some logic to test time duration precision. Make it a
function of time, dropping precision as the time increases. (Aaron Kromer) - Add new
backtrace_inclusion_patternsconfig option. Backtrace lines
that match one of these patterns will always be included in the
backtrace, even if they match an exclusion pattern, too (Sam Phippen). - Support ERB trim mode using the
-when parsing.rspecas ERB
(Gabor Garami). - Give a better error message when let and subject are called without a block.
(Sam Phippen). - List the precedence of
.rspec-localin the configuration documentation
(Sam Phippen) - Support
{a,b}shell expansion syntax in--patternoption
(Konstantin Haase). - Add cucumber documentation for --require command line option
(Bradley Schaefer) - Expose configruation options via config:
config.libsreturns the libs configured to be added onto the load pathfull_backtrace?returns the state of the backtrace cleanerdebug?returns true when the debugger is loadedline_numbersreturns the line numbers we are filtering by (if any)full_descriptionreturns the RegExp used to filter descriptions
(Jon Rowe)
- Add setters for RSpec.world and RSpec.configuration (Alex Soulim)
- Configure ruby's warning behaviour with
--warnings(Jon Rowe) - Fix an obscure issue on old versions of
1.8.7whereTime.dupwouldn't
allow access toTime.now(Jon Rowe) - Make
shared_examples_forcontext aware, so that keys may be safely reused
in multiple contexts without colliding. (Jon Rowe) - Add a configurable
deprecation_stream(Jon Rowe) - Publish deprecations through a formatter (David Chelimsky)
Bug fixes
- Make JSON formatter behave the same when it comes to
--profileas
the text formatter (Paweł Gościcki). - Fix named subjects so that if an inner group defines a method that
overrides the named method,subjectstill retains the originally
declared value (Myron Marston). - Fix random ordering so that it does not cause
randin examples in
nested sibling contexts to return the same value (Max Shytikov). - Use the new
backtrace_inclusion_patternsconfig option to ensure
that folks who develop code in a directory matching one of the default
exclusion patterns (e.g.gems) still get the normal backtrace
filtering (Sam Phippen). - Fix ordering of
beforehooks so thatbeforehooks declared in
RSpec.configurerun beforebeforehooks declared in a shared
context (Michi Huber and Tejas Dinkar). - Fix
Example#full_descriptionso that it gets filled in by the last
matcher description (asExample#descriptionalready did) when no
doc string has been provided (David Chelimsky). - Fix the memoized methods (
letandsubject) leakingdefine_method
as apublicmethod. (Thomas Holmes and Jon Rowe) (#873) - Fix warnings coming from the test suite. (Pete Higgins)
Deprecations
- Deprecate
Configuration#backtrace_clean_patternsin favor of
Configuration#backtrace_exclusion_patternsfor greater consistency
and symmetry with newbacktrace_inclusion_patternsconfig option
(Sam Phippen). - Deprecate
Configuration#requires=in favor of using ruby's
require. Requires specified by the command line can still be
accessed by theConfiguration#requirereader. (Bradley Schaefer) - Deprecate calling
SharedExampleGroupsdefined across sibling contexts
(Jon Rowe)
- Ruby
Published by myronmarston over 12 years ago