0
我有Rails中創建一個使用FactoryGirl模型重置表ID並重新創建on Rails的使用RSpec測試DB
it "does something" do
user = create(:user)
...
expect(user.name).to eq("foo")
end
我注意到,每一次我運行規範套件各種測試,它不會重置測試模式中的表ID(使用Postgres)。所以在執行幾次之後,user
可能有一個id
,類似2894
。
我使用Database Cleaner在後續運行之間清理我的數據庫 - 請參閱下文。
有沒有辦法在rspec運行之間直接重置表ID?我以前曾在一家公司使用過他們的應用程序,但我不知道如何。
如果#1不是選項,是否可以在運行之間刪除並重新創建測試數據庫?
RSpec.configure do |config|
config.before(:suite) do
DatabaseCleaner.clean_with(:deletion)
end
config.before(:each) do
DatabaseCleaner.strategy = :transaction
end
config.before(:each, js: true) do
DatabaseCleaner.strategy = :deletion
end
config.before(:each) do
DatabaseCleaner.start
end
config.after(:each) do
DatabaseCleaner.clean
end
end