ruby - 测试 CSV 相关方法的正确方法是什么。规格
问题描述
我有一个 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
产生的结果是什么,用 an 存根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:"\"">
那是什么?我该如何存根?我尝试使用 instance_double 对它进行存根,CSV
但没有奏效,它抱怨它收到了一个意外的<<
. 有什么建议吗?
解决方案
推荐阅读
- ios - 无法根据时间戳在聊天应用程序中检索文档
- android - iBeacon UUID 未正确显示 Kotlin
- php - 使用现有的 Idp 和 SP 在 Laravel 中集成 SAML
- php - 如何在 laravel 6 的会话中保存每个 foreach 数据?
- java - 未找到 Zip 标头,可能不是 zip 文件 - Zip4j、java
- javascript - Href to another page React Gatsby
- angularjs - akka-http 网络::err_incomplete_chunked_encoding 200 (ok)
- apache-spark - 如何附加两个字典RDD并形成一个字典rdd以发送到pyspark中的kafka主题?
- intellij-idea - 如何在 IntelliJ IDEA 中执行/应用 dart linter 规则
- java - 如何在 android studio java 中添加自定义库?