2012-04-11 45 views
8

在我的rSpec測試中,我測試了paperclip將照片上傳到我的系統並將其保存到給定用戶的能力。rSpec銷燬套件完成後的文件

這是偉大的,但在我的測試完成後,我有我的系統上所有這些額外的文件。如何在我的測試套件完成後自動刪除此內容。

感謝 麥克

+0

每個之後讓他刪除數據庫錄入和影像 – 2012-05-04 18:57:37

+0

知道如何刪除上傳附件的文件夾中MINITEST你應該運行Photo.delete_all? – Jwan622 2016-01-10 22:06:43

回答

5

我沒有用回形針,但我認爲這些文件被保存在一個有點不變的地方,比如(隨便舉個例子)TMP /回形針/照片/

如果是這樣的話,你的spec_helper內,您可以添加:

config.after(:suite) do # or :each or :all 
    Dir["#{Rails.root}/tmp/paperclip/**/*"].each do |file| 
     File.delete(file) 
    end 
end 
+1

如果您將最後一個'*'更改爲'*。*',那麼您可以避免嘗試刪除目錄。 – thomasfedb 2013-07-19 03:20:03

+0

如果使用minitest會怎麼樣? – Jwan622 2016-01-10 21:37:57

9

所以,很簡單,只是刪除整個目錄test。另外,略微更少的開銷和更容易閱讀。

# spec_helper.rb 

config.after(:suite) do 
    FileUtils.rm_rf(Dir["#{Rails.root}/public/system/test"]) 
end 
+1

這假設你在你的路徑中使用了rails_env,就像這樣:'path:':rails_root/public/system /:rails_env /:class /:attachment /:id_partition /:style /:filename'' – Karen 2015-07-02 17:27:12