Test :: Unit如何测试文件操作和文件内容

时间:2012-07-23 20:18:31

标签: ruby file mocking testunit

我正在寻找一种方法来测试使用带有test_unit的File类的方法。 使用Rspec issue与使用test_unit的方法完全相同。

def foo
  File.open "filename", "w" do |file|
    file.write("text")
  end
end

测试将是什么:

require 'test/unit'

def test_foo
...
end

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您可以执行与RSpec问题相同的事情:让foo接受任何IO对象并在测试中使用StringIO

def foo(io)
  io.write("text")
end

然后

require "test/unit"

def test_foo
  testIO = StringIO.new
  foo testIO 
  assert_equal(testIO.string, "text")
end