Мне нужно высмеять следующее:
Class User
def facebook
#returns an instance of a facebook gem
end
end
Так что в моих пользовательских тестах, чтобы получить доступ к информации пользователя на Facebook, мне нужно позвонить user.facebook.me.info
, чтобы получить его информацию.Если я хочу издеваться над этим, я сейчас использую следующее:
@user = Factory(:user)
facebook = mock()
me = mock()
me.expects(:info).returns({"name" => "John Doe"})
facebook.expects(:me).returns(me)
@user.expects(:facebook).returns(facebook)
assert_equal "John Doe", @user.facebook.me.info["name"]
Это работает, но кажется немного громоздким, есть ли лучший способ сделать это?
[править]Я использую мокко как насмешливый фреймворк