【发布时间】:2016-05-30 12:47:22
【问题描述】:
Ruby on Rails 中的StringIO 是什么?
我试图理解另一个引用 StringIO 的 SO 答案,但它在我头上。
我建议为此使用 StringIO 并确保您的 SUT 接受要写入的流而不是文件名。
testIO = StringIO.new
sutObject.writeStuffTo testIO
testIO.string.should == "Hello, world!"
来源:Rspec: how to test file operations and file content
Ruby-doc.org
字符串对象上的伪 I/O。
来源:http://ruby-doc.org/stdlib-1.9.3/libdoc/stringio/rdoc/StringIO.html)
Robots.thoughtbot
这在我们可能会注入 StringIO 而不是 从磁盘读取实际文件。
来源:https://robots.thoughtbot.com/io-in-ruby#stringio
我的情况:
File.open("data.dat", "wb") {|f| f.write(snapshot)}
在我的应用程序中,我想测试上述内容,但我仍然对 StringIO 如何应用于实现 RSpec 测试感到困惑。
在StringIO 有一些经验的人可以提供一些指导吗?
【问题讨论】:
标签: ruby-on-rails rspec stringio