Class: RuboCop::Cop::RSpec::ExampleWording
- Inherits:
-
RuboCop::Cop
- Object
- RuboCop::Cop
- RuboCop::Cop::RSpec::ExampleWording
- Defined in:
- lib/rubocop/cop/rspec/example_wording.rb
Overview
Do not use should when describing your tests. see: betterspecs.org/#should
The autocorrect is experimental - use with care! It can be configured with CustomTransform (e.g. have => has) and IgnoredWords (e.g. only).
Constant Summary collapse
- MSG =
'Do not use should when describing your tests.'
Instance Method Summary collapse
- #autocorrect(range) ⇒ Object
-
#on_block(node) ⇒ Object
rubocop:disable Metrics/AbcSize.
Instance Method Details
#autocorrect(range) ⇒ Object
40 41 42 43 44 |
# File 'lib/rubocop/cop/rspec/example_wording.rb', line 40 def autocorrect(range) lambda do |corrector| corrector.replace(range, (range)) end end |
#on_block(node) ⇒ Object
rubocop:disable Metrics/AbcSize
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/rubocop/cop/rspec/example_wording.rb', line 23 def on_block(node) # rubocop:disable Metrics/AbcSize method, = *node _, method_name, *args = *method return unless method_name == :it arguments = *(args.first) = arguments.first.to_s return unless .downcase.start_with?('should') arg1 = args.first.loc.expression = Parser::Source::Range .new(arg1.source_buffer, arg1.begin_pos + 1, arg1.end_pos - 1) add_offense(, , MSG) end |