1

我想创建三个存根模型,如下所示:

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

这行得通,但似乎应该有一种更简洁的方式来做这件事的正确方面,我不太明白。

请注意,虽然他们都是存根用户,但这三个变量需要引用不同的存根模型。

4

2 回答 2

6

尝试这个:

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

这只是循环 3 次并将结果映射到用户数组中,然后将其展开以分配给 ivars。

于 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 回答