我在rspec测试中有这个代码:
specify 'Saves files to S3' do
subject.upload
expect(connection.directories.get(credentials[:bucket]).files.map(&:key))
.to include("#{directory}/groucho.jpg")
end
subject.upload
将文件添加到S3,expect
下拉存储桶中的文件列表,查找刚刚上传的文件的名称。 expect
曾经过去(就像两天前一样),但现在却没有。
即使我睡了一会儿,expect
也永远不会过去。我不知道发生了什么变化,但我正在寻找一些指导。
答案 0 :(得分:1)
答案是索引会立即更新。但是,索引的内容是分页的。在我的情况下,更多的文件被添加到存储桶,所以我的文件不再出现在结果的第一页。您可以从S3中对索引进行分页。查看文档。你也可以做更贵的......
file = connection.directories.get(credentials[:bucket]).files.detect { |f| f.key == "#{directory}/sample.txt" }
...一次迭代一个。