Ruby on Rails 3.2.2 と rspec-rails-2.8.1 を使用しています。before
例の外にある場合でも、例グループ全体で(フックで初期化された) インスタンス変数を使用したいと考えています。つまり、次のようにしたいと思います。
describe "..." do
before(:each) do
@user = User.create(...)
end
# Here I would like to use the instance variable but I get the error:
# "undefined method `firstname' for nil:NilClass (NoMethodError)"
@user.firstname
it "..." do
# Here it works.
@user.firstname
...
end
end
出来ますか?もしそうなら、どのように?
注:実行するテストに関する詳細情報を次のように出力しようとしているため、これを行いたいと思います。
# file_name.html.erb
...
# General idea
expected_value = ...
it "... #{expected_value}" do
...
end
# Usage that i am trying to implement
expected_page_title =
I18n.translate(
'page_title_html'
:user => @user.firstname # Here is the instance variable that is called and that is causing me problems
)
it "displays the #{expected_page_title} page title" do
view.content_for(:page_title).should have_content(expected_page_title)
end