RSpec 测试 Factory Girl 创建图像
RSpec tests with Factory Girl creating image
在 rails 4.2.0 应用程序中,我使用 RSpec 和 Factory Girl 进行测试。在应用程序中,我使用 Paperclip 进行图像上传。当我 运行 使用空白图像进行测试时,图像被放置在 public 文件夹中。
有什么方法可以使用 database_cleaner gem 来解决这个问题吗?
到目前为止我有这个:
spec\support\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
spec\support\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
DatabaseCleaner
用于清理数据库,而不是文件系统。您可以自己删除文件,例如在 after
块中。
after(:each) { FileUtils.rm @file_path }
在 rails 4.2.0 应用程序中,我使用 RSpec 和 Factory Girl 进行测试。在应用程序中,我使用 Paperclip 进行图像上传。当我 运行 使用空白图像进行测试时,图像被放置在 public 文件夹中。
有什么方法可以使用 database_cleaner gem 来解决这个问题吗?
到目前为止我有这个:
spec\support\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
spec\support\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
DatabaseCleaner
用于清理数据库,而不是文件系统。您可以自己删除文件,例如在 after
块中。
after(:each) { FileUtils.rm @file_path }