1

これがコード待機テストです。鶏の卵の問題のようです。

def generate_number
  number = Array.new(8){rand(10)}.join
  return number unless Book.exists?(:number => number)
  generate_number
end

メソッドに変数を追加すると簡単に処理できますが、これを解決するためのより良い方法があると思います。

4

1 に答える 1

0

メソッドはランダムな文字列を返すため、明示的な戻り値をテストすることはできません。テストできることは次のとおりです。

  1. このメソッドは 8 桁の文字列を返します
  2. メソッドが返す文字列は、既存の書籍の番号ではありません
于 2012-08-01T10:56:19.047 に答える