2016-11-30 3 views
3

新しいexpect構文を使用してクラスメソッドをモックする方法について私は混乱しています。 これは動作します:RSpecのクラスメソッドをモックするには構文が必要ですか?

Facebook 
    .should_receive(:profile) 
    .with("token") 
    .and_return({"name" => "Hello", "id" => "14314141", "email" => "[email protected]"}) 

と、これはしません:

facebook = double("Facebook") 
allow(facebook).to receive(:profile).with("token").and_return({"name" => "Hello", "id" => "14314141", "email" => "[email protected]"}) 

誰かがここで間違っているものを私に伝えることができますか?ここで

+2

'(Facebookは)受信.TO許可(:プロファイル)。.with( "トークン")and_return({ "名前"= > "Hello"、 "id" => "14314141"、 "email" => "[email protected]"}) 'は役に立ちます –

+0

驚くべきことは、魅力的に機能しました。ドキュメントは非常に難しいです。 – aks

+0

正しい、嘲笑とスタブは最も簡単なトピックではありません.. –

答えて

3

は、あなたが(doubleは不要)を行いませんしたいものです。

allow(Facebook) 
    .to receive(:profile) 
    .with("token") 
    .and_return({"name" => "Hello", "id" => "14314141", "email" => "[email protected]"}) 
関連する問題