什么是测试与CSV相关的方法的正确方法。规格

时间:2018-06-20 21:33:43

标签: ruby

我有一个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对其进行存根处理,但该方法不起作用,并且它抱怨它收到了意外的方法<<。有什么建议吗?

0 个答案:

没有答案