Relishのbeforeおよびafterフックのドキュメントには、beforebefore(:suite)
が呼び出されることが示されているだけbefore(:all)
です。
いつ使用する必要がありますか?
Relishのbeforeおよびafterフックのドキュメントには、beforebefore(:suite)
が呼び出されることが示されているだけbefore(:all)
です。
いつ使用する必要がありますか?
ブロックでabefore(:all)
が定義されている場合、RSpec.configure
各トップレベルのサンプルグループの前に呼び出されますが、before(:suite)
コードブロックは1回だけ呼び出されます。
次に例を示します。
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
出力:
Before :suite
Before :all
spec1
After :all
Before :all
spec2
After :all
After :suite
また、before(:suite)を使用して、サンプルグループが実行される前にコードのブロックを実行することもできます。これはRSpec.configureで宣言する必要があります
http://rubydoc.info/github/rspec/rspec-core/RSpec/Core/Hooks