1

次のように 3 つのスタブ モデルを作成したいと思います。

@first_user, @second_user, @third_user = stub_model(User), stub_model(User), stub_model(User)

これは機能しますが、このことの右側を行うためのより簡潔な方法があるはずであり、私にはそれがよくわかりません。

これらはすべてスタブ化されたユーザーですが、3 つの変数は異なるスタブ モデルを参照する必要があることに注意してください。

4

2 に答える 2

6

これを試して:

@first_user, @second_user, @third_user = 3.times.map { stub_model(User) }

これは 3 回ループし、結果をユーザーの配列にマップし、その後展開して ivar に割り当てます。

于 2013-06-28T21:40:10.837 に答える
1

あなたが試すことができます:

@first_user, @second_user, @third_user = Array.new(3){ stub_model(User) }

サンプル例:

Array.new(3){"foo"}.map(&:object_id)
# => [77834250, 77834230, 77834220]
Array.new(3){"12"}.map(&:object_id)
# => [77832800, 77832780, 77832770]
Array.new(3){{:a => 12 }}.map(&:object_id)
# => [77815300, 77815290, 77815270]  
于 2013-06-28T21:31:55.640 に答える