Using the --pattern
option
Use the pattern
option to configure RSpec to look for specs in files that match
a pattern instead of the default "**/*_spec.rb"
.
RSpec.configure { |c| c.pattern = '**/*.spec' }
Rather than using require 'spec_helper'
at the top of each spec file,
ensure that you have --require spec_helper
in .rspec
. That will always
load before the pattern is resolved. With the pattern thus configured,
only those spec files that match the pattern will then be loaded.
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
Override the default pattern in configuration
Given a file named "spec/spec_helper.rb" with:
RSpec.configure do |config|
config.pattern = '**/*.spec'
end
And a file named "spec/one_example.spec" with:
RSpec.describe "something" do
it "passes" do
end
end
When I run rspec -rspec_helper
Then the output should contain "1 example, 0 failures".
Append to the default pattern in configuration
Given a file named "spec/spec_helper.rb" with:
RSpec.configure do |config|
config.pattern += ',**/*.spec'
end
And a file named "spec/two_examples.spec" with:
RSpec.describe "something" do
it "passes" do
end
it "passes again" do
end
end
When I run rspec -rspec_helper
Then the output should contain "4 examples, 0 failures".