私はsave_title
のメソッドを呼び出していますスタブが、置き換えているメソッドとは異なるタイプのオブジェクトを返す場合、rspecに警告することは可能ですか?
def save_title (data)
...
[ if the record exists, update, return 0]
[ if the record is new, create, return 1]
end
すべての罰金、私はそれをスタブまで:
saved_rows = []
proc.stub(:save_title) do |arg|
saved_rows << arg
end
ここでバグが私は整数を使用していたを決定するために、実際の方法から返されたということです作成されたレコード数と更新されたレコード数。スタブは整数を返しません。 Oooops。実際にコードはうまくいきましたが、テストでは壊れていました。後で(私が認めることを気にする以上に、呪いを含む)私はスタブを認識し、実際の方法は同じように動作しません。これは私が想定している動的言語の落とし穴です。
質問:スタブは本当の方法としてのものと同じ種類のを返さない場合
- 私は私を警告するRSpecの言うことはできますか?
- この種のことについて警告するために使用できるアナライザーの宝石はありますか?
- メソッドから値を返すとわからないようなベストプラクティスがありますか?
あなたは3つの質問をしているので、明確に答えにくいです。それらを3つの別々のSOページに分割してください。 –