RSpec测试与Factory Girl创建图像

时间:2015-02-15 15:45:10

标签: ruby-on-rails ruby rspec factory-bot database-cleaner

在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

1 个答案:

答案 0 :(得分:2)

DatabaseCleaner用于清理数据库,而不是文件系统。您可以自己删除文件,例如在after块中。

after(:each) { FileUtils.rm @file_path }