The before and after hook documentation on Relish pokazuje tylko, że before(:suite)
jest wywoływana przed before(:all)
.W RSpec, jaka jest różnica między przed (: pakiet) i wcześniej (: wszystkie)?
Kiedy należy używać jednego na drugim?
The before and after hook documentation on Relish pokazuje tylko, że before(:suite)
jest wywoływana przed before(:all)
.W RSpec, jaka jest różnica między przed (: pakiet) i wcześniej (: wszystkie)?
Kiedy należy używać jednego na drugim?
Kiedy przed (: all) jest zdefiniowana w bloku RSpec.configure to nazywa się przed każdym poziomie górnym przykład grupy, natomiast wcześniej (: suite) Blok kodu jest wywoływany tylko raz.
Oto przykład:
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
wyjściowa:
Before :suite
Before :all
spec1
After :all
Before :all
spec2
After :all
After :suite
Można również użyć przed (: suite), aby uruchomić blok kodu przed każdym przykład grupy są uruchamiane. To powinno zostać uznane w RSpec.configure
http://rubydoc.info/github/rspec/rspec-core/RSpec/Core/Hooks
moje pytanie brzmi: „Gdybym załadować niektórych danych nasienne jak Admin użyciem' przed suite' przyzwyczajenie, że dane są usuwane po przykładzie jest biegać?" – illusionist
Nie zostaną, musisz sobie z nimi poradzić ręcznie. Tylko przed (: przykład) jest wewnątrz transakcji. – Foton
: suite i: context (=: all) to zewnętrzna transakcja. Bez względu na to, jak głęboko są zagnieżdżone konteksty. – Foton