我们使用此设置在代码块之前需要空格
Layout/SpaceBeforeBlockBraces:
EnforcedStyle: space
但是,在RSpec示例中,当expect
和change
方法使用块来提高可读性时,我们不使用空格:
expect{ calling_the_method }.to change{ Model.all.size }.by(1)
Rubocop抱怨上面的代码。 是否可以告诉它在特定方法后忽略块或忽略与正则表达式匹配的行?
我尝试过:
Layout/SpaceBeforeBlockBraces:
EnforcedStyle: space
IgnoredPatterns: ['\A\s*((?:expect)|(.*change))']
答案 0 :(得分:1)
是否可以告诉[SpaceBeforeBlockBraces cop]在特定方法之后忽略块或忽略与正则表达式匹配的行?
不。截至2018年8月12日,我不认为SpaceBeforeBlockBraces
支持IgnoredPattern
选项,但这可能是一个简单的PR。 IgnoredPattern
选项是一个混合(rubocop/cop/mixin/ignored_pattern.rb
),因此您可以将include
放入所需的任何警察中。 Rubocop对捐款有严格的规定,因此,如果要进行PR,请务必仔细阅读所有说明。
如果要排除测试目录,则SpaceBeforeBlockBraces
警察应该支持Exclude
选项。我认为所有警察都支持Include
和Exclude
。