ruby - 在测试中创建和删除文件夹

标签 ruby testing testunit

我正在尝试测试一个场景,在该场景中,我的应用程序将一些文件写入文件夹,然后应在测试后删除该文件夹。

class TestDirectory < Test::Unit::TestCase
  def setup
    @target = "some/path"
    FileUtils.mkdir_p(@target)
  end

  def teardown
    FileUtils.rm_rf(@target)
  end

  test "remove directory" do
    #some tests
  end
end

但由于某种原因,该文件夹没有被删除。我还尝试将 FileUtils#rm_rf 的安全选项设置为 false,但这也无济于事。父文件夹和目标文件夹都不是全局可写的,根据文档,这可能是一个问题。我在 Mac OS X Lion 上运行。

我做错了什么?

最佳答案

这段代码对我有用:

require 'test/unit'
require 'fileutils'

class TestDirectory < Test::Unit::TestCase
  def setup
    @target = "/tmp/tmpfolder"
    FileUtils.mkdir_p(@target)
  end

  def teardown
    FileUtils.rm_rf(@target)
  end

  def test_something
    assert 1 + 1 == 2
  end
end

关于ruby - 在测试中创建和删除文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8370055/

相关文章:

javascript - 无法在 Rails 5.0.0 中限制文件上传页面的重定向?

ruby-on-rails - Ruby on Rails I18n 插值

ruby-on-rails - 如何计算最受欢迎的订单行组合? (或任何类似的订单/订单行数据库安排)

testing - cmake 可选测试

unit-testing - Apache 点燃 : test utilities

ruby-on-rails - 使用不同的设置多次运行相同的测试

ruby - 是否可以使用 MagLev for ruby​​ 构建生产 Web 应用程序?

xml - 断言无效、放错位置或出现太频繁

ruby - 为什么我在此 Ruby 脚本中得到 "Test is not a class"?

arrays - 单元测试不工作 - Ruby 使用测试单元