在rails 4.2.0应用程序中,我使用RSpec和Factory Girl进行测试。在应用程序中我使用Paperclip进行图像上传。当我使用空白图像运行测试时,图像将被放置在公用文件夹中。
有什么方法可以使用database_cleaner gem来解决这个问题吗?
到目前为止,我有这个:
规格\支持\ factory_girl.rb
RSpec.configure do |config|
config.include FactoryGirl::Syntax::Methods
config.before(:suite) do
begin
DatabaseCleaner.start
FactoryGirl.lint
ensure
DatabaseCleaner.clean
end
end
end
规格\支持\ database_cleaner.rb
RSpec.configure do |config|
config.before(:suite) do
DatabaseCleaner.clean_with(:truncation)
end
config.before(:each) do
DatabaseCleaner.strategy = :transaction
end
config.before(:each) do
DatabaseCleaner.start
end
config.after(:each) do
DatabaseCleaner.clean
end
end
答案 0 :(得分:2)
DatabaseCleaner
用于清理数据库,而不是文件系统。您可以自己删除文件,例如在after
块中。
after(:each) { FileUtils.rm @file_path }