To add a collaborator to this project you will need to use the Relish gem to add the collaborator via a terminal command. Soon you'll be able to also add collaborators here!
More about adding a collaboratorOverriding global ordering
You can customize how RSpec orders examples and example groups. For an
individual group, you can control it by tagging it with :order
metadata:
:defined
runs the examples (and sub groups) in defined order:random
runs them in random order
If you have more specialized needs, you can register your own ordering using
the register_ordering
configuration option. If you register an ordering as
:global
, it will be the global default, used by all groups that do not have
:order
metadata (and by RSpec to order the top-level groups).
- Scenarios
-
- Running a specific example group in order
- Registering a custom ordering
- Using a custom global ordering
- Running a specific example group in order
-
- Given
-
a file named "order_dependent_spec.rb" with:
RSpec.describe "examples only pass when they are run in order", :order => :defined do before(:context) { @list = [] } it "passes when run first" do @list << 1 expect(@list).to eq([1]) end it "passes when run second" do @list << 2 expect(@list).to eq([1, 2]) end it "passes when run third" do @list << 3 expect(@list).to eq([1, 2, 3]) end end
- When
-
I run
rspec order_dependent_spec.rb --order random:1
- Then
- the examples should all pass
- Registering a custom ordering
-
- Given
-
a file named "register_custom_ordering_spec.rb" with:
RSpec.configure do |rspec| rspec.register_ordering(:reverse) do |items| items.reverse end end RSpec.describe "A group that must run in reverse order", :order => :reverse do before(:context) { @list = [] } it "passes when run second" do @list << 2 expect(@list).to eq([1, 2]) end it "passes when run first" do @list << 1 expect(@list).to eq([1]) end end
- When
-
I run
rspec register_custom_ordering_spec.rb
- Then
- the examples should all pass
- Using a custom global ordering
-
- Given
-
a file named "register_global_ordering_spec.rb" with:
RSpec.configure do |rspec| rspec.register_ordering(:global) do |items| items.reverse end end RSpec.describe "A group without :order metadata" do before(:context) { @list = [] } it "passes when run second" do @list << 2 expect(@list).to eq([1, 2]) end it "passes when run first" do @list << 1 expect(@list).to eq([1]) end end
- When
-
I run
rspec register_global_ordering_spec.rb
- Then
- the examples should all pass
Last published 9 months ago by Jon Rowe.