This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
shared_context "shared stuff" do | |
before { @some_var = :some_value } | |
def shared_method | |
"it works" | |
end | |
let(:shared_let) { {'arbitrary' => 'object'} } | |
subject do | |
'this is the subject' | |
end | |
end | |
describe "group that includes a shared context using 'include_context'" do | |
include_context "shared stuff" | |
it "has access to methods defined in shared context" do | |
shared_method.should eq("it works") | |
end | |
it "has access to methods defined with let in shared context" do | |
shared_let['arbitrary'].should eq('object') | |
end | |
it "runs the before hooks defined in the shared context" do | |
@some_var.should be(:some_value) | |
end | |
it "accesses the subject defined in the shared context" do | |
subject.should eq('this is the subject') | |
end | |
end |
日本語
shared_context はその名前の通りコンテキスト (テストを行なうときの状況) を共有するための機能です。
shared_context を使うことで複数箇所にちらばる同一処理をまとめることができます。shared_context は shared_context が書かれたファイルを require することでも使えるようになるので別のスペックファイルでも使うことができます。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
shared_context "shared stuff" do | |
before { @some_var = :some_value } | |
def shared_method | |
"it works" | |
end | |
let(:shared_let) { {'arbitrary' => 'object'} } | |
subject do | |
'this is the subject' | |
end | |
end | |
describe "group that includes a shared context using 'include_context'" do | |
include_context "shared stuff" | |
it "has access to methods defined in shared context" do | |
shared_method.should eq("it works") | |
end | |
it "has access to methods defined with let in shared context" do | |
shared_let['arbitrary'].should eq('object') | |
end | |
it "runs the before hooks defined in the shared context" do | |
@some_var.should be(:some_value) | |
end | |
it "accesses the subject defined in the shared context" do | |
subject.should eq('this is the subject') | |
end | |
end |