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