我有一个CSV编写方法,如下所示:
def self.write(output_path:, data:)
CSV.open(output_path, "w") do |csv|
data.each do |row|
csv << row
end
end
end
通常,我想对CSV
类进行存根,并希望确保将正确的输入发送到该方法。如何测试我们遍历数据并将每一行发送到csv对象?我在这里做什么测试呢?
我的计划是确定产生的csv
是什么,将其与instance_double
存根,并检查它是否通过迭代的每条数据接收到:<<
。但是,csv
对象是:
<#CSV io_type:File io_path:"./public/output/redemptions.csv" encoding:UTF-8 lineno:1 col_sep:"," row_sep:"\n" quote_char:"\"">
那是什么?我该如何存根?我尝试使用CSV
的instance_double对其进行存根处理,但该方法不起作用,并且它抱怨它收到了意外的方法<<
。有什么建议吗?