运行RSpec测试后文件夹具被删除

时间:2018-07-17 17:33:55

标签: ruby io temporary-files

我有用RSpec编写的测试,这些测试一直持续到升级到Ruby 2.5.1。

有问题的测试在let块中有几个before(:each)语句。不断被删除的文件就在其中:

    let(:fake_s3_file) { File.open(File.join(File.dirname(__FILE__), '../fixtures/Alexa.pdf')) }

稍后在before(:each)节中,我有这个:

  allow(s3_client).to receive(:get_object).and_return(fake_s3_file)
  allow(Tempfile).to receive(:new).and_return(fake_s3_file)

在Ruby 2.5.1中,似乎由于File.openTempfile引用而删除了我的源文件。有人遇到过这个问题吗,有什么好的方法吗?我还没有发现任何文档说TempfileFile.open发生了任何变化。我应该在每次运行规范之前将我的灯具文件复制到/tmp目录中吗?这样做似乎很错误,而且很慢。

0 个答案:

没有答案