run rails example describe rspec rspec2

example - rspec rails 5



En RSpec, ¿cuál es la diferencia entre before(: suite) y before(: all)? (2)

La documentación del gancho antes y después de Relish solo muestra que before(:suite) se llama before(:all) to before(:all) .

¿Cuándo debería usar uno sobre el otro?



Cuando se define un before (: all) en el bloque RSpec.configure, se llama antes de cada grupo de ejemplo de nivel superior, mientras que un bloque de código before (: suite) solo se llama una vez.

Aquí hay un ejemplo:

RSpec.configure do |config| config.before(:all) {puts "Before :all"} config.after(:all) {puts "After :all"} config.before(:suite) {puts "Before :suite"} config.after(:suite) {puts "After :suite"} end describe "spec1" do example "spec1" do puts "spec1" end end describe "spec2" do example "spec2" do puts "spec2" end end

Salida:

Before :suite Before :all spec1 After :all Before :all spec2 After :all After :suite