0

私はRSpecを初めて使用し、スペックテストを作成しているときに、戻り値が期待どおりに指定したものとは異なるにもかかわらず、スペックテストに合格するという問題に遭遇しました。例えば:

  @q= Query.new
  @q.should_receive(:number_to_name).with(0).and_return("no such boro") 
  @q.number_to_name(0) 

これは、Query.number_to_nameが0で呼び出したときに異なる値を返している場合でも通過します。これをどうすればよいかわかりません。

4

1 に答える 1

-1

should_receiverspecのモックツールの一部です。

@q.should_receive(:number_to_name).with(0).and_return("no such boro")

あなたはモックnumber_to_nameをしていて、の引数で呼び出され、モックが戻る@qという期待値を設定しています。次に実行すると、モックを呼び出すことでその期待に応えます。の実装は呼び出されたことがなく、テストもされていません。number_to_name0"no such boro"@q.number_to_name(0)number_to_name

于 2011-01-09T01:21:04.817 に答える