The before and after hook documentation on Relish mostra solo che before(:suite)
viene chiamato prima di before(:all)
.In RSpec, qual è la differenza tra before (: suite) e before (: all)?
Quando dovrei usare uno sull'altro?
The before and after hook documentation on Relish mostra solo che before(:suite)
viene chiamato prima di before(:all)
.In RSpec, qual è la differenza tra before (: suite) e before (: all)?
Quando dovrei usare uno sull'altro?
Quando una prima (: all) è definito nel blocco RSpec.configure viene chiamato prima di ogni esempio gruppo di livello superiore, mentre una prima (: suite) il blocco di codice viene chiamato solo una volta.
Ecco un esempio:
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
uscita:
Before :suite
Before :all
spec1
After :all
Before :all
spec2
After :all
After :suite
È anche possibile utilizzare prima (: suite) per eseguire un blocco di codice prima dell'esecuzione di qualsiasi gruppo di esempio . Questo dovrebbe essere dichiarato RSpec.configure
http://rubydoc.info/github/rspec/rspec-core/RSpec/Core/Hooks
la mia domanda è: "Se io caricare alcuni dati di semi come amministratore utente utilizzando' prima suite' wont che i dati essere cancellata dopo esempio è correre?" – illusionist
No rimarranno, devi gestirli manualmente. Solo prima (: esempio) è all'interno della transazione. – Foton
: suite e: context (=: all) sono transazioni esterne. Non importa quanto siano profondi i contesti annidati. – Foton