title: FactoryGirl and DatabaseCleaner best practices for entire test suite using integration and unit tests
body: <p>I have a Rails test suite that uses <code>DatabaseCleaner</code>, <code>FactoryGirl</code>, and <code>Capybara-Webkit</code>. All my tests pass on my machine when running the suite, including when running them all in parallel (<code>parallel_rspec</code>).</p>
  
  <p>When I push to CI (circleci) I always get a failure in my integration tests. I suspect it is because I am using <code>transaction</code> strategy in my unit tests (controllers, services, views, etc...). Perhaps it is a bad practice, but if I need a model in my controller (for example) I have been doing <code>FactoryGirl.create(:my_model)</code>. But I suspect every single place I use FactoryGirl to create a model I should also be making that test use a <code>truncation</code> strategy in DatabaseCleaner.</p>
  
  <p>I just marked my entire suite to use <code>truncation</code> and pushed to CI and it's green which is great, but now the suite takes 50% longer to run.</p>
  
  <p>So, when instantiating <code>ActiveRecord</code> models with <code>FactoryGirl</code>, should I <strong>ALWAYS</strong> mark those tests to use <code>truncation</code>?</p>
  
  <p>Thank you for any and all feedback.</p>