有没有办法测试 activerecord 集合是否包含 rspec 中的任何记录数组?
is there a way to test if an activerecord collection contains any of an array of records in rspec?
我有一个测试:
let!(:things_I_dont_want_to_appear) { create_list :books, archived }
expect(assign(:things).to_a).not_to include(things_I_dont_want_to_appear)
我用了to_a因为things_I_dont_want_to_appear是一个数组,但是'include'好像不能处理对象比较?
使用这个:
expect(assign(:things).to_a).not_to include(*things_I_dont_want_to_appear)
阅读array usage。对于 Array
,#include
必须有一个逗号 (,
) 分隔的参数列表。 splat(*
) 为您完成这项工作。
我有一个测试:
let!(:things_I_dont_want_to_appear) { create_list :books, archived }
expect(assign(:things).to_a).not_to include(things_I_dont_want_to_appear)
我用了to_a因为things_I_dont_want_to_appear是一个数组,但是'include'好像不能处理对象比较?
使用这个:
expect(assign(:things).to_a).not_to include(*things_I_dont_want_to_appear)
阅读array usage。对于 Array
,#include
必须有一个逗号 (,
) 分隔的参数列表。 splat(*
) 为您完成这项工作。