преди кука в rspec същото като преди :all?

Чудя се дали before (както се вижда по-долу) е същото като before :all в RSpec. Понякога нито :each, нито :all са посочени и ме обърква какво всъщност прави before.

require 'spec_helper'

describe "this is a description" do 
  before do # vs. before :all or before :each
   # do something...
  end
end

Ще съм благодарен, ако някой може да обясни разликите, ако има такива. Благодаря!


person Jonathan Lin    schedule 28.08.2012    source източник


Отговори (1)


Така че отговорът е Не. before е еквивалентно на before :each, а не на before :all

Пример за тест.

Актуализация: Уау, този въпрос е популярен. За да спасите главата си от когнитивно претоварване, предлагам ви изрично да посочите :each или :all.

person Jonathan Lin    schedule 28.08.2012
comment
Искам да добавя, че ако влагате преди контексти без специфично време на изпълнение като before(:each), това НЯМА да замени горното ниво преди куките. След това можете да вмъкнете куки и да добавите код към купчината, но бъдете внимателни, тъй като това може да ви създаде проблеми. - person Alexis Rabago Carvajal; 01.08.2018
comment
Обзалагам се, че това е особено популярно, защото страницата с rspec doc за преди не споменава по подразбиране. relishapp.com/rspec/ rspec-core/v/2-2/docs/hooks/ - person cdmo; 03.03.2020