特定のアイコンが X 日以上のストリークを持つユーザーのビューに表示されることをテストしたいと思います。だから私はモデルのstreak
メソッドをスタブする必要があります.しかし、User
私はそれがそのuid
. テストコードを以下に示します。
test "should display an icon for users with streak longer than 7 days" do
node = node(:one)
User.any_instance.stubs(:streak).returns([8,10])
get :show,
author: node.author.username,
date: node.created_at.strftime("%m-%d-%Y"),
id: node.title.parameterize
assert_select ".fa-fire", 1
end
戻り値は配列で、配列の最初の値は連続記録の日数、2 番目の値は連続記録の投稿数です。
この行は、クラスUser.any_instance.stubs(:streak).returns([8,10])
のインスタンスをすべてスタブします。User
次のインスタンスのみをスタブ化するようにスタブ化するにはどうすればよい:uid => 1
ですか?