Rspec, Cucumber: стратегия очистки базы данных с максимальной скоростью

я хотел бы увеличить скорость моих тестов.

  1. Следует ли мне использовать use_transactional_fixtures или использовать гем database_cleaner ?
  2. Какая стратегия database_cleaner лучшая? Я заметил, что после перехода с : truncation на : transaction мои более 800 примеров работают примерно в 4 раза быстрее!
  3. Следует ли мне выключить use_transactional_fixtures , когда я используйте database_cleaner : transaction ?
  4. Верно ли, что лучшая стратегия для rack_test - : transaction ?
  5. Каковы лучшие практики для изменения стратегии на лету из : транзакция с на : усечение при использовании селена или акефалоса ?

PS Mysql, Rails 3, Rspec2, Cucumber

PPS Я знаю о spork и parallel_test и используя их. Но они оффтопные. Например, Spork экономит около 15-20 секунд при выполнении всего пакета, но изменение с : transaction на : truncation резко увеличивает время работы с 3,5 до 13,5 минут (разница в 10 минут).

14
задан snowguy 20 July 2012 в 07:31
поделиться