0

place.ext_fb_place_idを使用してスタブしたユニットテストがあります

let(:place) { stub(:place, ext_fb_place_id: SecureRandom.random_number(20_000_000), facebook_metadata: {category: nil}, lat: 33.129147303422, lng: -96.653188420995, name: "In & Out Burger") }

ドット演算子の代わりに文字列キーを使用するようにコードを変更する必要がありました。つまりplace["ext_fb_place_id']、正しい値を取得するためにを使用する必要がありました。ただし、これにより次のエラーがスローされます。

Stub :place received unexpected message :[] with ("ext_fb_place_id")

またはのような呼び出しを使用できるように[]メソッドをスタブするにはどうすればよいですplace["ext_fb_place_id"]place["lat"]

ありがとう

4

1 に答える 1

0

私は次のようにスタブすることができました:

ext_fb_place_id = SecureRandom.random_number(20_000_000)

let(:place) { stub(:place, ext_fb_place_id: ext_fb_place_id, facebook_metadata: {category: nil}, lat: 33.129147303422, lng: -96.653188420995, name: "In & Out Burger", :[] => ext_fb_place_id)}

@LeeJarvis と @JimDeville に感謝します。

于 2013-01-02T22:25:16.587 に答える