我想创建三个存根模型,如下所示:
@first_user, @second_user, @third_user = stub_model(User), stub_model(User), stub_model(User)
这样可行,但似乎应该有更简洁的方法来做这件事的正确方面,我无法弄明白。
请注意,虽然它们都是存根用户,但这三个变量需要引用不同的存根模型。
答案 0 :(得分:6)
试试这个:
@first_user, @second_user, @third_user = 3.times.map { stub_model(User) }
这只是循环3次并将结果映射到用户数组中,然后扩展出来以分配给ivars。
答案 1 :(得分: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]