--pattern
option
When you run RSpec without giving it specific file names, it determines which
files to load by applying a pattern to the provided directory arguments or
spec
(if no directories are provided). By default, RSpec uses the following
pattern:
"**{,/*/**}/*_spec.rb"
Use the --pattern
option to declare a different pattern.
Background
Given a file named “spec/example_spec.rb” with:
RSpec.describe "two specs" do
it "passes" do
end
it "passes too" do
end
end
And a file named “spec/example_test.rb” with:
RSpec.describe "one spec" do
it "passes" do
end
end
By default, RSpec runs matching spec files
When I run rspec
Then the output should contain “2 examples, 0 failures”.
The --pattern
flag makes RSpec run files matching the specified pattern and ignore the default pattern
When I run rspec -P "**/*_test.rb"
Then the output should contain “1 example, 0 failures”.
The --pattern
flag can be used to pass in multiple patterns, separated by commas
When I run rspec -P "**/*_test.rb,**/*_spec.rb"
Then the output should contain “3 examples, 0 failures”.
The --pattern
flag accepts shell style glob unions
When I run rspec -P "**/*_{test,spec}.rb"
Then the output should contain “3 examples, 0 failures”.