您将如何编写用于生成zip文件的测试?

时间:2018-07-03 18:50:28

标签: ruby-on-rails ruby testing minitest

我正在处理一个服务/工作流,该服务/工作流将使用与Project相关联的许多数据文件,并为其创建一个zip文件。这些文件由Carrierwave管理。我正在使用本机的Rails TestCase / Minitest,并且想知道什么是测试zip文件生成的最佳方法?

目前,用于抓取文件并将其写入zip的代码如下:

def generate_zip(project)
  project_tracks = project.project_tracks

  # base temp dir
  temp_dir = Dir.mktmpdir

  # path for zip we are about to create
  zip_path = File.join(temp_dir, "#{project.name}.zip")

  Zip::ZipOutputStream.open(zip_path) do |zos|
    project_tracks.each do |project_track|
      path = project_track.track.path
      zos.put_next_entry(path)
      zos.write project_track.track.file.read
    end
  end
end

最初,我的想法是创建zip文件并比较字节?想知道这是一个好主意还是有更好/更快的方法来测试这种逻辑。

0 个答案:

没有答案