beforeやafterを定義するには、
- 各テストに個別に設定する
- it_should_behave_likeを使って設定を共有する
ほか、「Spec::Runner.configure」を使って定義することもできます。この方法で定義されたbefore,afterはすべてのテストで有効となります。
以下は、「Spec::Runner.configure」を使ってbefore,afterを定義する例です。
#「Spec::Runner.configure」を使ってbefore,afterを定義 Spec::Runner.configure do |config| config.before(:all) { puts "before all" } config.after(:all) { puts "after all" } config.before(:each) { puts "before each" } config.after(:each) { puts "after each" } end describe "a" do it "a ex1" do puts " a ex1" end end describe "b" do it "ex1" do puts " b ex1" end end
実行結果です。
$ spec test_spec.rb
before all
before each
a ex1
after each
.after all
before all
before each
b ex1
after each
.after all
Finished in 0.03 seconds
2 examples, 0 failures