- Add support single quoted string and percent string and heredoc for
RSpec/Rails/HttpStatus
. (@ydah) - Change to be inline disable for
RSpec/SpecFilePathFormat
likeRSpec/FilePath
. (@ydah) - Fix a false positive for
RSpec/MetadataStyle
with example groups having multiple string arguments. (@franzliedke)
- Fix an error when using
RSpec/FilePath
and revert to enabled by default. If you have already moved toRSpec/SpecFilePathSuffix
andRSpec/SpecFilePathFormat
, disableRSpec/FilePath
explicitly asEnabled: false
. TheRSpec/FilePath
before migration and theRSpec/SpecFilePathSuffix
andRSpec/SpecFilePathFormat
as the target are available respectively. (@ydah)
- Split
RSpec/FilePath
intoRSpec/SpecFilePathSuffix
andRSpec/SpecFilePathFormat
.RSpec/FilePath
cop is disabled by default and the two new cops are pending and need to be enabled explicitly. (@ydah) - Add new
RSpec/Eq
cop. (@ydah) - Add
RSpec/MetadataStyle
andRSpec/EmptyMetadata
cops. (@r7kamura) - Add support
RSpec/Rails/HttpStatus
whenhave_http_status
with string argument. (@ydah) - Fix an infinite loop error when
RSpec/ExcessiveDocstringSpacing
finds a description with non-ASCII leading/trailing whitespace. (@bcgraham) - Fix an incorrect autocorrect for
RSpec/ReceiveMessages
when return values declared between stubs. (@marocchino) - Fix a false positive
RSpec/Focus
when chained method call and inside define method. (@ydah)
- Fix an incorrect autocorrect for
RSpec/ReceiveMessages
when method is only non-word character. (@marocchino) - Fix a false positive for
RSpec/ReceiveMessages
when return with splat. (@marocchino)
- Mark to
Safe: false
forRSpec/Rails/NegationBeValid
cop. (@ydah) - Declare autocorrect as unsafe for
RSpec/ReceiveMessages
. (@bquorning)
- Add new
RSpec/Rails/NegationBeValid
cop. (@ydah) - Fix a false negative for
RSpec/ExcessiveDocstringSpacing
when finds description with em space. (@ydah) - Fix a false positive for
RSpec/EmptyExampleGroup
when example group with examples defined inif
branch inside iterator. (@ydah) - Update the message output of
RSpec/ExpectActual
to include the word 'value'. (@corydiamand) - Fix a false negative for
RSpec/Pending
whenit
without body. (@ydah) - Add new
RSpec/ReceiveMessages
cop. (@ydah) - Change default.yml path to use
**/spec/*
instead ofspec/*
. (@ydah) - Add
AllowedIdentifiers
andAllowedPatterns
configuration option toRSpec/IndexedLet
. (@ydah) - Fix
RSpec/NamedSubject
when block has no body. (@splattael) - Fix
RSpec/LetBeforeExamples
autocorrect incompatible withRSpec/ScatteredLet
autocorrect. (@ydah) - Update
RSpec/Focus
to supportshared_context
andshared_examples
. (@tmaier)
- Extract factory_bot cops to a separate repository,
rubocop-factory_bot
. Therubocop-factory_bot
repository is a dependency ofrubocop-rspec
and the factory_bot cops are aliased (RSpec/FactoryBot/Foo
==FactoryBot/Foo
) until v3.0 is released, so the change will be invisible to users until then. (@ydah)
- Fix a false positive in
RSpec/IndexedLet
with suffixes after index-like numbers. (@pirj) - Fix an error for
RSpec/Rails/HaveHttpStatus
with comparison with strings containing non-numeric characters. (@ydah) - Fix an error for
RSpec/MatchArray
whenmatch_array
with no argument. (@ydah) - Add support
a_block_changing
andchanging
forRSpec/ChangeByZero
. (@ydah) - Drop Ruby 2.6 support. (@ydah)
- Add new
RSpec/IndexedLet
cop. (@dmitrytsepelev) - Add new
RSpec/BeEmpty
cop. (@ydah, @bquorning) - Add autocorrect support for
RSpec/ScatteredSetup
. (@ydah) - Add support
be_status
style forRSpec/Rails/HttpStatus
. (@ydah) - Add support for shared example groups to
RSpec/EmptyLineAfterExampleGroup
. (@pirj) - Add support for
RSpec/HaveHttpStatus
when usingresponse.code
. (@ydah) - Fix order of expected and actual in correction for
RSpec/Rails/MinitestAssertions
. (@mvz) - Fix a false positive for
RSpec/DescribedClassModuleWrapping
when RSpec.describe numblock is nested within a module. (@ydah) - Fix a false positive for
RSpec/FactoryBot/ConsistentParenthesesStyle
inside&&
,||
and:?
whenomit_parentheses
is on. (@dmitrytsepelev) - Fix a false positive for
RSpec/PendingWithoutReason
when pending/skip has a reason inside an example group. (@ydah) - Fix a false negative for
RSpec/RedundantAround
when redundant numblockaround
. (@ydah) - Change
RSpec/ContainExactly
to ignore calls with no arguments, and changeRSpec/MatchArray
to ignore calls with an empty array literal argument. (@ydah, @bquorning) - Make
RSpec/MatchArray
andRSpec/ContainExactly
pending. (@ydah)
- Fix a false positive for
RSpec/ContextWording
when context is interpolated string literal or execute string. (@ydah) - Fix a false positive for
RSpec/DescribeMethod
when multi-line describe without#
and.
at the beginning. (@ydah, @pirj) - Fix a false positive for
RSpec/VariableName
when inside non-spec code. (@ydah) - Fix a false positive for
RSpec/VariableDefinition
when inside non-spec code. (@ydah) - Add new
RSpec/PendingBlockInsideExample
cop. (@ydah) - Add
RSpec/RedundantAround
cop. (@r7kamura) - Add
RSpec/Rails/TravelAround
cop. (@r7kamura) - Add
RSpec/ContainExactly
andRSpec/MatchArray
cops. (@faucct) - Fix a false positive for
RSpec/PendingWithoutReason
when not inside example and pending/skip with block. (@ydah, @pirj) - Fix a false positive for
RSpec/PendingWithoutReason
whenskip
is passed a block inside example. (@ydah, @pirj) - Rename
RSpec/PendingBlockInsideExample
cop toRSpec/SkipBlockInsideExample
. (@pirj) - Deprecate
send_pattern
/block_pattern
/numblock_pattern
helpers in favour of using node pattern explicitly. (@pirj, @ydah) - Fix an incorrect autocorrect for
RSpec/VerifiedDoubleReference
when namespaced class. (@ydah)
- Add
rubocop-capybara
version constraint to prevent sudden cop enabling when it hits 3.0. (@pirj)
- Extract Capybara cops to a separate repository,
rubocop-capybara
. Therubocop-capybara
repository is a dependency ofrubocop-rspec
and the Capybara cops are aliased (RSpec/Capybara/Foo
==Capybara/Foo
) until v3.0 is released, so the change will be invisible to users until then. (@pirj)
- Fix a false negative for
RSpec/Pending
when using skipped in metadata is multiline string. (@ydah) - Fix a false positive for
RSpec/NoExpectationExample
when using skipped in metadata is multiline string. (@ydah) - Fix a false positive for
RSpec/ContextMethod
when multi-line context with#
at the beginning. (@ydah) - Fix an incorrect autocorrect for
RSpec/PredicateMatcher
when multiline expect and predicate method with heredoc. (@ydah) - Fix a false positive for
RSpec/PredicateMatcher
wheninclude
with multiple argument. (@ydah)
- Fix a false positive for
RSpec/PendingWithoutReason
when pending/skip is argument of methods. (@ydah) - Add new
RSpec/Capybara/MatchStyle
cop. (@ydah) - Add new
RSpec/Rails/MinitestAssertions
cop. (@ydah) - Fix a false positive for
RSpec/PendingWithoutReason
when not inside example. (@ydah) - Fix a false negative for
RSpec/PredicateMatcher
when usinginclude
andrespond_to
. (@ydah) - Fix a false positive for
RSpec/StubbedMock
when stubbed message expectation with a block and block parameter. (@ydah)
- Add new
RSpec/FactoryBot/FactoryNameStyle
cop. (@ydah) - Improved processing speed for
RSpec/Be
,RSpec/ExpectActual
,RSpec/ImplicitExpect
,RSpec/MessageSpies
,RSpec/PredicateMatcher
andRSpec/Rails/HaveHttpStatus
. (@ydah) - Fix wrong autocorrection in
n_times
style onRSpec/FactoryBot/CreateList
. (@r7kamura) - Fix a false positive for
RSpec/FactoryBot/ConsistentParenthesesStyle
when usinggenerate
with multiple arguments. (@ydah) - Mark
RSpec/BeEq
asSafe: false
. (@r7kamura) - Add
RSpec/DuplicatedMetadata
cop. (@r7kamura) - Mark
RSpec/BeEql
asSafe: false
. (@r7kamura) - Add
RSpec/PendingWithoutReason
cop. (@r7kamura)
- Fix a false positive for
RSpec/RepeatedDescription
when different its block expectations are used. (@ydah) - Add
named_only
style toRSpec/NamedSubject
. (@kuahyeow) - Fix
RSpec/FactoryBot/ConsistentParenthesesStyle
to ignore calls without the first positional argument. (@pirj) - Fix
RSpec/FactoryBot/ConsistentParenthesesStyle
to ignore calls inside a Hash or an Array. (@pirj) - Fix
RSpec/NestedGroups
to correctly useAllowedGroups
config. (@samrjenkins) - Remove
Runners
andHookScopes
RSpec DSL elements from configuration. (@pirj) - Add
with default RSpec/Language config
helper tolib
(underrubocop/rspec/shared_contexts/default_rspec_language_config_context
), to allow use for downstream cops based onRuboCop::Cop::RSpec::Base
. (@smcgivern)
- Fix an incorrect autocorrect for
FactoryBot/ConsistentParenthesesStyle
withomit_parentheses
option when method name and first argument are not on same line. (@ydah) - Fix autocorrection loop in
RSpec/ExampleWording
for insufficient example wording. (@pirj) - Fix
RSpec/SortMetadata
not to reorder arguments ofinclude_
/it_behaves_like
. (@pirj) - Fix a false positive for
RSpec/NoExpectationExample
when allowed pattern methods with arguments. (@ydah) - Change
RSpec/FilePath
so that it only checks suffix when path is under spec/routing or type is defined as routing. (@r7kamura)
- Fix an error for
RSpec/Rails/InferredSpecType
with redundant type before other Hash metadata. (@ydah)
- Add
require_implicit
style toRSpec/ImplicitSubject
. (@r7kamura) - Fix a false positive for
RSpec/Capybara/SpecificMatcher
whenhave_css("a")
without attribute. (@ydah) - Update
RSpec/ExampleWording
cop to raise error for insufficient descriptions. (@akrox58) - Add new
RSpec/Capybara/NegationMatcher
cop. (@ydah) - Add
AllowedPatterns
configuration option toRSpec/NoExpectationExample
. (@ydah) - Improve
RSpec/NoExpectationExample
cop to ignore examples skipped or pending via metadata. (@pirj) - Add
RSpec/FactoryBot/ConsistentParenthesesStyle
cop. (@Liberatys) - Add
RSpec/Rails/InferredSpecType
cop. (@r7kamura) - Add new
RSpec/Capybara/SpecificActions
cop. (@ydah) - Update
config/default.yml
removing deprecated option to make the config correctable by users. (@ignaciovillaverde) - Do not attempt to auto-correct example groups with
include_examples
inRSpec/LetBeforeExamples
. (@pirj) - Add new
RSpec/SortMetadata
cop. (@leoarnold) - Add support for subject! method to
RSpec/SubjectDeclaration
. (@ydah)
- Fix an error for
RSpec/Capybara/SpecificFinders
with no parentheses. (@ydah) - Fix a false positive for
RSpec/NoExpectationExample
with pending usingskip
orpending
inside an example. (@ydah) - Exclude
have_text
andhave_content
that raiseArgumentError
withRSpec/Capybara/VisibilityMatcher
where:visible
is an invalid option. (@ydah) - Fix a false negative for
RSpec/Capybara/VisibilityMatcher
with negative matchers. (@ydah)
- Include config/obsoletion.yml in the gemspec. (@hosamaly)
- Fix
RSpec/FilePath
cop missing mismatched expanded namespace. (@sl4vr) - Add new
AllowConsecutiveOneLiners
(default true) option forRspec/EmptyLineAfterHook
cop. (@ngouy) - Add autocorrect support for
RSpec/EmptyExampleGroup
. (@r7kamura) - Fix
RSpec/ChangeByZero
with compound expressions using&
or|
operators. (@BrianHawley) - Add
RSpec/NoExpectationExample
. (@r7kamura) - Add some expectation methods to default configuration. (@r7kamura)
- Fix a false positive for
RSpec/Capybara/SpecificMatcher
. (@ydah) - Fix a false negative for
RSpec/Capybara/SpecificMatcher
forhave_field
. (@ydah) - Fix a false positive for
RSpec/Capybara/SpecificMatcher
when may not have ahref
byhave_link
. (@ydah) - Add
NegatedMatcher
configuration option toRSpec/ChangeByZero
. (@ydah) - Add new
RSpec/Capybara/SpecificFinders
cop. (@ydah) - Add support for numblocks to
RSpec/AroundBlock
,RSpec/EmptyLineAfterHook
,RSpec/ExpectInHook
,RSpec/HookArgument
,RSpec/HooksBeforeExamples
,RSpec/IteratedExpectation
, andRSpec/NoExpectationExample
. (@ydah) - Fix incorrect documentation URLs when using
rubocop --show-docs-url
. (@r7kamura) - Add
AllowedGroups
configuration option toRSpec/NestedGroups
. (@ydah) - Deprecate
IgnoredPatterns
option in favor of theAllowedPatterns
options. (@ydah) - Add
AllowedPatterns
configuration option toRSpec/ContextWording
. (@ydah) - Add
RSpec/ClassCheck
cop. (@r7kamura) - Fix a false positive for
RSpec/Capybara/SpecificMatcher
when pseudo-classes. (@ydah) - Fix a false negative for
RSpec/SubjectStub
when the subject is declared with thesubject!
method and called by name. (@eikes) - Support
Array.new(n)
onRSpec/FactoryBot/CreateList
cop. (@r7kamura)
- Fix a false positive for
RSpec/Capybara/SpecificMatcher
. (@ydah)
- Fix incorrect path suggested by
RSpec/FilePath
cop when second argument contains spaces. (@tejasbubane) - Fix autocorrect for EmptyLineSeparation. (@johnny-miyake)
- Add new
RSpec/Capybara/SpecificMatcher
cop. (@ydah) - Fixed false offense detection in
FactoryBot/CreateList
when a n.times block is including method calls in the factory create arguments. (@ngouy) - Fix error in
RSpec/RSpec/FactoryBot/CreateList
cop for empty block. (@tejasbubane) - Update
RSpec/MultipleExpectations
cop documentation with examples of aggregate_failures use. (@edgibbs) - Declare autocorrect as unsafe for
RSpec/VerifiedDoubleReference
. (@Drowze) - Add new
RSpec/Rails/HaveHttpStatus
cop. (@akiomik)
- Fix a regression in
RSpec/ExpectChange
flagging chained method calls. (@pirj)
- Drop Ruby 2.5 support. (@ydah)
- Add new
RSpec/ChangeByZero
cop. (@ydah) - Improve
RSpec/ExpectChange
to detect namespaced and top-level constants. (@M-Yamashita01) - Introduce an amendment to
Metrics/BlockLength
to exclude spec files. (@luke-hill)
- Fix a false positive for
RSpec/EmptyExampleGroup
when expectations in case statement. (@ydah) - Add
RSpec/VerifiedDoubleReference
cop. (@t3h2mas) - Make
RSpec/BeNil
cop configurable with abe_nil
style and abe
style. (@bquorning) - Fix
Capybara/CurrentPathExpectation
autocorrect incompatible withStyle/TrailingCommaInArguments
autocorrect. (@ydah)
- Add new
RSpec/BeNil
cop. (@bquorning) - Add new
RSpec/BeEq
cop. (@bquorning)
- Fix
RSpec/FactoryBot/SyntaxMethods
andRSpec/Capybara/FeatureMethods
to inspect shared groups. (@pirj) - Fix
RSpec/LeadingSubject
failure in non-spec code. (@pirj) - Add bad example to
RSpec/SubjectStub
cop. (@oshiro3) - Replace non-styleguide cops
StyleGuide
attribute withReference
. (@pirj) - Fix
RSpec/SubjectStub
to disallow stubbing of subjects defined in parent example groups. (@pirj)
- Add new
RSpec/FactoryBot/SyntaxMethods
cop. (@leoarnold) - Exclude
task
type specs fromRSpec/DescribeClass
cop. (@harry-graham)
- Fix merging RSpec DSL configuration from third-party gems. (@pirj)
- Fix
RSpec/ExcessiveDocstringSpacing
false positive for multi-line indented strings. (@G-Rath) - Fix
Include
configuration for sub-departments. (@pirj) - Ignore heredocs in
RSpec/ExcessiveDocstringSpacing
. (@G-Rath) - Stop
RSpec/ExampleWording
from trying to correct heredocs. (@G-Rath) - Add autocorrect support for
RSpec/VariableDefinition
. (@r7kamura)
- Declare autocorrect as unsafe for
ExpectChange
. (@francois-ferrandis) - Fix each example for
RSpec/HookArgument
. (@lokhi) - Exclude unrelated Rails directories from
RSpec/DescribeClass
. (@MothOnMars) - Add
RSpec/ExcessiveDocstringSpacing
cop. (@G-Rath) - Add
RSpec/SubjectDeclaration
cop. (@dswij) - Fix excessive whitespace removal in
RSpec/EmptyHook
autocorrection. (@pirj) - Bump RuboCop requirement to v1.19.0. (@pirj)
- Fix false positive in
RSpec/IteratedExpectation
when there is single, non-expectation statement in the block body. (@Darhazer)
- Update
RSpec/FilePath
to check suffix when given a non-constant top-level node (e.g. features). (@topalovic) - Add missing documentation for
single_statement_only
style ofRSpec/ImplicitSubject
cop. (@tejasbubane) - Fix an exception in
DescribedClass
when accessing a constant on a variable in a spec that is nested in a namespace. (@rrosenblum) - Add new
RSpec/IdenticalEqualityAssertion
cop. (@tejasbubane) - Add
RSpec/Rails/AvoidSetupHook
cop. (@paydaylight) - Fix false negative in
RSpec/ExpectChange
cop with block style and chained method call. (@tejasbubane)
- Allow
RSpec/ContextWording
to accept multi-word prefixes. (@hosamaly) - Drop support for ruby 2.4. (@bquorning)
- Add
CountAsOne
configuration option toRSpec/ExampleLength
. (@stephannv) - Fix a false positive for
RSpec/RepeatedExampleGroupBody
whenpending
orskip
have argument(s). (@Tietew)
- Fix
HooksBeforeExamples
,LeadingSubject
,LetBeforeExamples
andScatteredLet
autocorrection to take into account inline comments and comments immediately before the moved node. (@Darhazer) - Improve rubocop-rspec performance. (@Darhazer, @bquorning)
- Include
Enabled: true
to prevent a mismatched configuration parameter warning whenRSpec
cops are explicitly enabled in the user configuration. (@pirj)
- Fix
RSpec/FilePath
false positive for relative file path runs with long namespaces. (@ahukkanen) - Update
RSpec/Focus
to have auto-correction. (@dvandersluis)
- Fixed infinite loop in
RSpec/ExpectActual
autocorrection when both expected and actual values are literals. (@Darhazer)
- Remove deprecated class
::RuboCop::Cop::RSpec::Cop
. (@bquorning) - Retire
RSpec/InvalidPredicateMatcher
cop. (@pirj) - Remove the code responsible for filtering files to inspect. (@pirj)
- Make RSpec language elements configurable. (@sl4vr)
- Remove
CustomIncludeMethods
RSpec/EmptyExampleGroup
option in favour of the new RSpec DSL configuration. (@pirj) - Enabled pending cop (
RSpec/StubbedMock
). (@pirj)
- Update RuboCop dependency to v1.0.0. (@bquorning)
- Change namespace of several cops (
Capybara/*
->RSpec/Capybara/*
,FactoryBot/*
->RSpec/FactoryBot/*
,Rails/*
->RSpec/Rails/*
). (@pirj, @bquorning)
- Relax
rubocop-ast
version constraint. (@PhilCoggins)
- Move our documentation from rubocop-rspec.readthedocs.io to docs.rubocop.org/rubocop-rspec. (@bquorning)
- Add
RSpec/RepeatedIncludeExample
cop. (@biinari) - Add
RSpec/StubbedMock
cop. (@bquorning, @pirj) - Add
IgnoredMetadata
configuration option toRSpec/DescribeClass
. (@Rafix02) - Fix false positives in
RSpec/EmptyExampleGroup
. (@pirj) - Fix a false positive for
RSpec/EmptyExampleGroup
when example is defined in anif
branch. (@koic)
- Fix
RSpec/FilePath
when checking a file with a shared example. (@pirj) - Fix subject nesting detection in
RSpec/LeadingSubject
. (@pirj)
- Fix
RSpec/FilePath
when checking a file defining e.g. an empty class. (@bquorning)
- Add a new base cop class
::RuboCop::Cop::RSpec::Base
. The old base class::RuboCop::Cop::RSpec::Cop
is deprecated, and will be removed in the next major release. (@bquorning) - Add support for subject detection after includes and example groups in
RSpec/LeadingSubject
. (@pirj) - Ignore trailing punctuation in context description prefix. (@elliterate)
- Relax
RSpec/VariableDefinition
cop so interpolated and multiline strings are accepted even when configured to enforce thesymbol
style. (@bquorning) - Fix
RSpec/EmptyExampleGroup
to flag example groups with examples in invalid scopes. (@mlarraz) - Fix
RSpec/EmptyExampleGroup
to ignore examples groups with examples defined inside iterators. (@pirj) - Improve
RSpec/NestedGroups
,RSpec/FilePath
,RSpec/DescribeMethod
,RSpec/MultipleDescribes
,RSpec/DescribeClass
's top-level example group detection. (@pirj) - Add detection of
let!
with a block-pass or a string literal toRSpec/LetSetup
. (@pirj) - Add
IgnoredPatterns
configuration option toRSpec/VariableName
. (@jtannas) - Add
RSpec/MultipleMemoizedHelpers
cop. (@mockdeep)
- Update RuboCop dependency to 0.87.0 because of changes to internal APIs. (@bquorning, @Darhazer)
- Extend the list of Rails spec types for
RSpec/DescribeClass
. (@pirj) - Fix
FactoryBot/AttributeDefinedStatically
to allow#traits_for_enum
without a block. (@harrylewis) - Improve the performance of
FactoryBot/AttributeDefinedStatically
,RSpec/InstanceVariable
,RSpec/LetSetup
,RSpec/NestedGroups
andRSpec/ReturnFromStub
. (@andrykonchin)
- Add new
RSpec/VariableName
cop. (@tejasbubane) - Add new
RSpec/VariableDefinition
cop. (@tejasbubane) - Expand
Capybara/VisibilityMatcher
to support more than justhave_selector
. (@twalpole) - Add new
SpecSuffixOnly
option toRSpec/FilePath
cop. (@zdennis) - Allow
RSpec/RepeatedExampleGroupBody
to differ only by described_class. (@robotdana) - Fix
RSpec/FilePath
detection across sibling directories. (@rolfschmidt) - Improve the performance of
RSpec/SubjectStub
by an order of magnitude. (@andrykonchin)
- Fix
RSpec/FilePath
detection when absolute path includes test subject. (@eitoball) - Add new
Capybara/VisibilityMatcher
cop. (@aried3r) - Ignore String constants by
RSpec/Describe
. (@AlexWayfer) - Drop support for ruby 2.3. (@bquorning)
- Fix multiple cops to detect
let
with proc argument. (@tejasbubane) - Add autocorrect support for
RSpec/ScatteredLet
. (@Darhazer) - Add new
RSpec/EmptyHook
cop. (@tejasbubane)
- Fix
RSpec/RepeatedDescription
to detect descriptions with interpolation and methods. (@lazycoder9)
- Fix
RSpec/InstanceVariable
detection inside custom matchers. (@pirj) - Fix
RSpec/ScatteredSetup
to distinguish hooks with different metadata. (@pirj) - Add autocorrect support for
RSpec/ExpectActual
cop. (@dduugg, @pirj) - Add
RSpec/RepeatedExampleGroupBody
cop. (@lazycoder9) - Add
RSpec/RepeatedExampleGroupDescription
cop. (@lazycoder9) - Add block name and other lines to
RSpec/ScatteredSetup
message. (@elebow) - Fix
RSpec/RepeatedDescription
to take into account example metadata. (@lazycoder9)
- Improve message and description of
FactoryBot/FactoryClassName
. (@ybiquitous) - Fix
FactoryBot/FactoryClassName
to ignoreHash
andOpenStruct
. (@jfragoulis)
- Implement
RSpec/DescribedClassModuleWrapping
to disallow RSpec statements within a module. (@kellysutton) - Fix documentation rake task to support RuboCop 0.75. (@nickcampbell18)
- Fix
RSpec/SubjectStub
to detect implicit subjects stubbed. (@QQism) - Fix
RSpec/Pending
not flaggingskip
with string values. (@pirj) - Add
AllowedExplicitMatchers
config option forRSpec/PredicateMatcher
. (@mkrawc) - Add
FactoryBot/FactoryClassName
cop. (@jfragoulis)
- Fix
RSpec/DescribedClass
's error whendescribed_class
is used as part of a constant. (@pirj) - Fix
RSpec/ExampleWording
autocorrect of multi-line docstrings. (@pirj) - Add
RSpec/ContextMethod
cop, to detect method names incontext
. (@geniou) - Update RuboCop dependency to 0.68.1 with support for children matching node pattern syntax. (@pirj)
- Add
RSpec/EmptyLineAfterExample
cop to check that there is an empty line after example blocks. (@pirj) - Fix
Capybara/CurrentPathExpectation
auto-corrector, to include optionignore_query: true
. (@onumis) - Fix
RSpec/Focus
detecting mixed array/hash metadata. (@dgollahon) - Fix
RSpec/Focus
to also detectpending
examples. (@dgollahon)
- Add
RSpec/ImplicitBlockExpectation
cop. (@pirj)
- Fix
RSpec/DescribedClass
's error when a local variable is part of the namespace. (@pirj)
- Remove
AggregateFailuresByDefault
config option ofRSpec/MultipleExpectations
. (@pirj) - Add
RSpec/LeakyConstantDeclaration
cop. (@jonatas, @pirj) - Improve
aggregate_failures
metadata detection ofRSpec/MultipleExpectations
. (@pirj) - Improve
RSpec/SubjectStub
detection and message. (@pirj) - Change message of
RSpec/LetSetup
cop to be more descriptive. (@foton) - Improve
RSpec/ExampleWording
to handle interpolated example messages. (@nc-holodakg) - Improve detection by allowing the use of
RSpec
as a top-level constant. (@pirj) - Fix
RSpec/DescribedClass
's incorrect detection. (@pirj) - Improve
RSpec/DescribedClass
's ability to detect inside modules and classes. (@pirj)
- Let
RSpec/DescribedClass
passStruct
instantiation closures. (@schmijos) - Fixed
RSpec/ContextWording
missingcontext
s with metadata. (@pirj) - Fix
FactoryBot/AttributeDefinedStatically
not working with an explicit receiver. (@composerinteralia) - Add
RSpec/Dialect
enforces custom RSpec dialects. (@gsamokovarov) - Fix redundant blank lines in
RSpec/MultipleSubjects
's autocorrect. (@pirj) - Drop support for ruby
2.2
. (@bquorning)
- Add
RSpec/Yield
cop, suggesting using theand_yield
method when stubbing a method, accepting a block. (@Darhazer) - Fix
FactoryBot/CreateList
autocorrect crashing when the factory is called with a block=. (@Darhazer) - Fixed
RSpec/Focus
not flagging some cases ofRSpec.describe
withfocus: true
. (@Darhazer) - Fixed
RSpec/Pending
not flagging some cases ofRSpec.describe
with:skip
. (@Darhazer) - Fix false positive in
RSpec/ReceiveCounts
when method nameexactly
,at_least
orat_most
is used along withtimes
, without being an RSpec API. (@Darhazer)
- Add
IgnoreSharedExamples
option forRSpec/NamedSubject
. (@RST-J) - Add autocorrect support for
Capybara/CurrentPathExpectation
cop. (@ypresto) - Add support for built-in
exists
matcher forRSpec/PredicateMatcher
cop. (@mkenyon) SingleArgumentMessageChain
no longer reports an array as it's only argument as an offense. (@Darhazer)
FactoryBot/CreateList
now ignorestimes
blocks with an argument. (@Darhazer)
- Add config to
RSpec/VerifiedDoubles
to enforcement of verification on unnamed doubles. (@BrentWheeldon) - Fix
FactoryBot/AttributeDefinedStatically
not working when there is a non-symbol key. (@vzvu3k6k) - Fix false positive in
RSpec/ImplicitSubject
whenis_expected
is used insideits()
block. (@Darhazer) - Add
single_statement_only
style toRSpec/ImplicitSubject
as a more relaxed alternative tosingle_line_only
. (@Darhazer) - Add
RSpec/UnspecifiedException
as a default cop to encourage more-specificexpect{}.to raise_error(ExceptionType)
, orraise_exception
style handling of exceptions. (@daveworth)
- Fix false negative in
FactoryBot/AttributeDefinedStatically
when attribute is defined onself
. (@Darhazer) RSpec/FactoryBot
cops will now also inspect thespec/factories.rb
path by default. (@bquorning)
RSpec/InstanceVariable
- Recommend local variables in addition tolet
. (@jaredbeck)- Add
RSpec/ImplicitSubject
cop. (@Darhazer) - Add
RSpec/HooksBeforeExamples
cop. (@Darhazer)
- Add
RSpec/ReceiveNever
cop enforcing usage ofnot_to receive
instead ofnever
matcher. (@Darhazer) - Fix false positive in
RSpec/EmptyLineAfterExampleGroup
cop when example is insideif
. (@Darhazer) - Add
RSpec/MissingExampleGroupArgument
to enforce first argument for an example group. (@geniou) - Drop support for ruby
2.1
. (@bquorning) - Add
FactoryBot/AttributeDefinedStatically
cop to help FactoryBot users with the deprecation of static attributes. (@composerinteralia, @seanpdoyle) - Remove
FactoryBot/DynamicAttributeDefinedStatically
andFactoryBot/StaticAttributeDefinedDynamically
cops. (@composerinteralia)
RSpec/LeadingSubject
now enforces subject to be before any examples, hooks or let declarations. (@Darhazer)- Fix
RSpec/NotToNot
to highlight only the selector (not_to
orto_not
), so it works also onexpect { ... }
blocks. (@bquorning) - Add
RSpec/EmptyLineAfterHook
cop. (@bquorning) - Add
RSpec/EmptyLineAfterExampleGroup
cop to check that there is an empty line after example group blocks. (@bquorning) - Fix
RSpec/DescribeClass
crashing onRSpec.describe
without arguments. (@Darhazer) - Bump RuboCop requirement to v0.56.0. (@bquorning)
- Fix
RSpec/OverwritingSetup
crashing if a variable is used as an argument forlet
. (@Darhazer)
- Fix false positive in
RSpec/EmptyExampleGroup
cop when methods named like a RSpec method are used. (@Darhazer) - Fix
Capybara/FeatureMethods
not working when there is require before the spec. (@Darhazer) - Fix
RSpec/EmptyLineAfterFinalLet
: allow a comment to be placed after latest let, requiring empty line after the comment. (@Darhazer) - Add
RSpec/ReceiveCounts
cop to enforce usage of :once and :twice matchers. (@Darhazer)
- Fix false positive in
RSpec/Pending
cop when pending is used as a method name. (@Darhazer) - Fix
FactoryBot/DynamicAttributeDefinedStatically
false positive when using symbol proc argument for a sequence. (@tdeo)
- Add
RSpec/SharedExamples
cop to enforce consistent usage of string to titleize shared examples. (@anthony-robin) - Add
RSpec/Be
cop to enforce passing argument to the genericbe
matcher. (@Darhazer) - Fix false positives in
StaticAttributeDefinedDynamically
andReturnFromStub
when a const is used in an array or hash. (@Darhazer) - Add
RSpec/Pending
cop to enforce no existing pending or skipped examples. This is disabled by default. (@patrickomatic) - Fix
RSpec/NestedGroups
cop support --auto-gen-config. (@walf443) - Fix false positives in
Capybara/FeatureMethods
when feature methods are used as property names in a factory. (@Darhazer) - Allow configuring enabled methods in
Capybara/FeatureMethods
. (@Darhazer) - Add
FactoryBot/CreateList
cop. (@Darhazer)
- Compatibility with RuboCop v0.53.0. (@bquorning)
- The
Rails/HttpStatus
cop is unavailable if therack
gem cannot be loaded. (@bquorning) - Fix
Rails/HttpStatus
not working with custom HTTP status codes. (@bquorning) - Fix
FactoryBot/StaticAttributeDefinedDynamically
to handle empty block. (@abrom) - Fix false positive in
FactoryBot/DynamicAttributeDefinedStatically
when a before/after callback has a symbol proc argument. (@abrom)
- Add
RSpec/Rails/HttpStatus
cop to enforce consistent usage of the status format (numeric or symbolic). (@anthony-robin, @jojos003) - Fix false negative in
RSpec/ReturnFromStub
when a constant is being returned by the stub. (@Darhazer) - Fix
FactoryBot/DynamicAttributeDefinedStatically
to handle dynamic attributes inside arrays/hashes. (@abrom) - Add
FactoryBot/StaticAttributeDefinedDynamically
(based on dynamic attribute cop). (@abrom)
- Fix error in
RSpec/DescribedClass
when working on an emptydescribe
block. (@bquorning)
- Fix false positives in
RSpec/ReturnFromStub
. (@Darhazer)
- Updates
describe_class
to account for RSpecs:system
wrapper of rails system tests. (@EliseFitz15) - Add
RSpec/ExpectChange
cop to enforce consistent usage of the change matcher. (@Darhazer) - Add autocorrect support to
RSpec/LetBeforeExamples
. (@Darhazer) - Fix
RSpec/InstanceVariable
flagging instance variables inside dynamically defined class. (@Darhazer) - Add autocorrect support for
RSpec/ReturnFromStub
cop. (@bquorning) - Add
RSpec/ExampleWithoutDescription
cop. (@Darhazer)
- Compatibility with RuboCop v0.52.0. (@bquorning)
- Improve performance when user does not override default RSpec Pattern config. (@walf443)
- Add
AggregateFailuresByDefault
configuration forRSpec/MultipleExpectations
cop. (@onk)
- Add "without" to list of default allowed prefixes for
RSpec/ContextWording
. (@bquorning)
- Rename namespace
FactoryGirl
toFactoryBot
following original library update. (@walf443) - Fix exception in
RSpec/ReturnFromStub
on empty block. (@yevhene) - Add
RSpec/ContextWording
cop. (@pirj, @telmofcosta) - Fix
RSpec/SubjectStub
cop matches receive message inside all matcher. (@walf443)
Compatibility release so users can upgrade RuboCop to 0.51.0. No new features.
- Fix false positive in
Capybara/FeatureMethods
. (@Darhazer) - Add
RSpec/Capybara/CurrentPathExpectation
cop for feature specs, disallowing setting expectations oncurrent_path
. (@timrogers) - Fix false positive in
RSpec/LetBeforeExamples
cop when example group contains single let. (@Darhazer)
- Improved
RSpec/ReturnFromStub
to handle string interpolation, hashes and do..end blocks. (@Darhazer) - Fixed compatibility with JRuby. (@zverok)
- Add
RSpec/Capybara
namespace including the first cop for feature specs:Capybara/FeatureMethods
. (@rspeicher) - Update to RuboCop 0.50.0. (@bquorning)
- Add
RSpec/FactoryGirl
namespace including the first cop for factories:FactoryGirl/DynamicAttributeDefinedStatically
. (@jonatas) - Add disabled by default
RSpec/AlignLeftLetBrace
. (@backus) - Add disabled by default
RSpec/AlignRightLetBrace
. (@backus) - Add
RSpec/LetBeforeExamples
cop. (@Darhazer) - Add
RSpec/MultipleSubjects
cop. (@backus) - Add
RSpec/ReturnFromStub
cop. (@Darhazer) - Add
RSpec/VoidExpect
cop. (@pocke) - Add
RSpec/InvalidPredicateMatcher
cop. (@pocke) - Change HookArgument cop to detect when hook has a receiver. (@pocke)
- Add
RSpec/PredicateMatcher
cop. (@pocke) - Add
RSpec/ExpectInHook
cop. (@pocke) RSpec/MultipleExpectations
now detects usage of expect_any_instance_of. (@Darhazer)RSpec/MultipleExpectations
now detects usage of is_expected. (@bmorrall)
- Fix the handling of various edge cases in the
RSpec/ExampleWording
cop, including one that would cause autocorrect to crash. (@dgollahon) - Fix
RSpec/IteratedExpectation
crashing when there is an assignment in the iteration. (@Darhazer) - Fix false positive in
RSpec/SingleArgumentMessageChain
cop when the single argument is a hash. (@Darhazer)
- Add
RSpec/DescribeSymbol
cop. (@rspeicher) - Fix error when
RSpec/OverwritingSetup
andRSpec/ScatteredLet
analyzed empty example groups. (@backus)
- Add
RSpec/OverwritingSetup
cop. (@Darhazer) - Add autocorrect support for
RSpec/LeadingSubject
cop. (@Darhazer) - Add
RSpec/ScatteredLet
cop. (@Darhazer) - Add
RSpec/IteratedExpectation
cop. (@Darhazer) - Add
RSpec/EmptyLineAfterSubject
cop. (@Darhazer) - Add
RSpec/EmptyLineAfterFinalLet
cop. (@Darhazer)
- Add repeated 'it' detection to
RSpec/ExampleWording
cop. (@dgollahon) - Add [observed_nesting/max_nesting] info to
RSpec/NestedGroups
messages. (@dgollahon) - Add
RSpec/ItBehavesLike
cop. (@dgollahon) - Add
RSpec/SharedContext
cop. (@Darhazer) RSpec/MultipleExpectations
: Count aggregate_failures block as single expectation. (@Darhazer)- Fix
ExpectActual
cop flaggingrspec-rails
routing specs. (@backus) - Fix
FilePath
cop not registering offenses for files likespec/blog/user.rb
when it should bespec/blog/user_spec.rb
. (@backus)
- Add
RSpec/InstanceSpy
cop. (@Darhazer) - Add
RSpec/BeforeAfterAll
for avoiding leaky global test setup. (@cfabianski)
- Add
AroundBlock
cop. (@Darhazer) - Add
EnforcedStyle
configuration forRSpec/DescribedClass
cop. (@Darhazer) - Fix false positive for
RSpec/RepeatedExample
cop. (@redross)
- Fix false negative for
RSpec/MessageSpies
cop. (@onk) - Fix internal dependencies on RuboCop to be compatible with 0.47 release. (@backus)
- Add autocorrect support for
SingleArgumentMessageChain
cop. (@bquorning) - Rename
NestedGroups
' configuration key fromMaxNesting
toMax
in order to be consistent with other cop configuration. (@backus) - Add
RepeatedExample
cop for detecting repeated examples within example groups. (@backus) - Add
ScatteredSetup
cop for enforcing that only onebefore
,around
, andafter
hook are used per example group scope. (@backus) - Add
ExpectOutput
cop for recommendingexpect { ... }.to output(...).to_stdout
. (@backus)
- Fix unintentional regression change in
NestedGroups
reported in #270. (@backus) - Change
MaxNesting
forNestedGroups
from 2 to 3. (@backus)
- Add
MessageSpies
cop for enforcing consistent style of eitherexpect(...).to have_received
orexpect(...).to receive
, intended as a replacement for theMessageExpectation
cop. (@bquorning) - Fix
DescribeClass
to not flagdescribe
at the top of a block of shared examples. (@clupprich) - Add
SingleArgumentMessageChain
cop for recommending use ofreceive
instead ofreceive_message_chain
where possible. (@bquorning) - Add
RepeatedDescription
cop for detecting repeated example descriptions within example groups. (@backus)
- Optionally ignore method names in the
describe
argument when running theFilePath
cop. (@bquorning) - Fix regression in how
FilePath
converts alphanumeric class names into paths. (@bquorning) - Add
ImplicitExpect
cop for enforcingshould
vs.is_expected.to
. (@backus) - Disable
MessageExpectation
cop in the default configuration. (@bquorning)
- Add support for checking all example groups with
ExampleLength
. (@backus) - Add support for checking shared example groups for
DescribedClass
. (@backus) - Add support for checking
its
from rspec-its. (@backus) - Add
EmptyExampleGroup
cop for detectingdescribe
s andcontext
s without any tests inside. (@backus) - Add
CustomIncludeMethods
configuration option forEmptyExampleGroup
. (@backus) - Add
NestedGroups
cop for detecting excessive example group nesting. (@backus) - Add
MaxNesting
configuration option forNestedGroups
cop. (@backus) - Add
ExpectActual
cop for detecting literal values withinexpect(...)
. (@backus) - Add
MultipleExpectations
cop for detecting multipleexpect(...)
calls within one example. (@backus) - Add
Max
configuration option forMultipleExpectations
. (@backus) - Add
SubjectStub
cop for testing stubbed test subjects. (@backus) - Add
LetSetup
cop for detecting cases wherelet!
is used for test setup. (@backus) - Change all cops to only inspect files with names following rspec convention (
*/spec/*
and/or_spec.rb
). (@backus) - Add
AllCops/RSpec
configuration option for specifying custom spec file patterns. (@backus) - Add
AssignmentOnly
configuration option forRSpec/InstanceVariable
cop. (@backus) - Add
BeEql
cop which looks for expectations that can usebe(...)
instead ofeql(...)
. (@backus) - Add autocorrect support for
BeEql
cop. (@backus) - Add
MessageExpectation
cop for enforcing consistent style of eitherexpect(...).to receive
orallow(...).to receive
. (@backus) - Add
MessageChain
cop. (@bquorning)
- Add
SkipBlocks
option forDescribedClass
cop. (@backus)
- Add
RSpec/NamedSubject
cop. (@backus)
- Drop support for ruby
2.0.0
and2.1.0
. (@backus) - Internal refactorings and improved test coverage. (@backus)
- Fix
unrecognized parameter RSpec/VerifiedDoubles:IgnoreSymbolicNames
warning. (@jeffreyc) - Update to rubocop 0.41.2. (@backus)
- Expand
VerifiedDoubles
cop to check forspy
as well asdouble
. (@andyw8) - Enable
VerifiedDoubles
cop by default. (@andyw8) - Add
IgnoreSymbolicNames
option forVerifiedDoubles
cop. (@andyw8) - Add
RSpec::ExampleLength
cop. (@andyw8) - Handle alphanumeric class names in
FilePath
cop. (@andyw8) - Skip
DescribeClass
cop for view specs. (@andyw8) - Skip
FilePath
cop for Rails routing specs. (@andyw8) - Add cop to check for focused specs. (@renanborgescampos, @jaredmoody)
- Clean-up
RSpec::NotToNot
to use same configuration semantics as other RuboCop cops, add autocorrect support forRSpec::NotToNot
. (@baberthal) - Update to rubocop 0.40.0. (@nijikon)
- Ignore routing specs for DescribeClass cop. (@nijikon)
- Move rubocop dependency to runtime. (@nijikon)
- Update to rubocop 0.39.0. (@nijikon)
- Update to rubocop 0.37.2. (@nijikon)
- Update ruby versions we test against. (@nijikon)
- Add
RSpec::NotToNot
cop. (@miguelfteixeira) - Add
RSpec/AnyInstance
cop. (@mlarraz)
- Fix auto correction issue - syntax had changed in RuboCop v0.31. (@bquorning)
- Add RuboCop clone to vendor folder - see #39 for details. (@bquorning)
- Ignore non string arguments for FilePathCop - thanks to @deivid-rodriguez. (@geniou)
- Skip DescribeMethod cop for tagged specs. (@deivid-rodriguez)
- Skip DescribeClass cop for feature/request specs. (@deivid-rodriguez)
- Make
RSpec::ExampleWording
case insensitive. (@geniou)
- Add
RSpec::VerifiedDoubles
cop. (@andyw8)
- Drop support of ruby
1.9.2
. (@geniou) - Update to RuboCop
~> 0.24
. (@geniou) - Add
autocorrect
toRSpec::ExampleWording
. This experimental - use with care and check the changes. (@geniou) - Fix config loader debug output. (@geniou)
- Rename
FileName
cop toFilePath
as a workaround - see #19. (@geniou)
- Add
autocorrect
toRSpec::DescribedClass
cop. (@geniou)
- Add
config
folder to gemspec. (@pstengel)
- Update to RuboCop
>= 0.23
. (@geniou) - Add configuration option for
CustomTransformation
toFileName
cop. (@geniou)
- Gem is no longer 20MB (sorry!). (@nevir)
RspecFileName
cop allows for method specs to organized into directories by class and type. (@nevir)
- Update code to work with rubocop
>= 0.19
. (@geniou) - Split
UnitSpecNaming
cop intoRSpecDescribeClass
,RSpecDescribeMethod
andRSpecFileName
and enabled them all by default. (@geniou) - Add
RSpecExampleWording
cop to prevent to use of should at the beginning of the spec description. (@geniou) - Fix
RSpecFileName
cop for non-class specs. (@geniou) - Adapt
RSpecFileName
cop to common naming convention and skip spec with multiple top level describes. (@geniou) - Add
RSpecMultipleDescribes
cop to check for multiple top level describes. (@geniou) - Add
RSpecDescribedClass
to promote the use ofdescribed_class
. (@geniou) - Add
RSpecInstanceVariable
cop to check for the usage of instance variables. (@geniou)