Оставление большого набора данных в тестовой базе данных без перезагрузки - PullRequest
0 голосов
/ 09 ноября 2009

Я использую огурец для запуска интеграционных тестов.

У меня очень большая (более 30 000 записей) стандартная настройка для тестирования.

Как я могу оставить это в базе данных test.sqlite3 без повторной загрузки?

Ответы [ 3 ]

1 голос
/ 12 ноября 2009

Cucumber не будет очищать базу данных после завершения теста, если вы не поместите некоторый код для этого в блок After в файле env.rb, чтобы сделать это.

Если данные никогда не меняются, загрузите их в базу данных один раз и предположите, что они есть, когда вы запускаете огурец. Если вы измените некоторые данные в базе данных в ваших сценариях, то убедитесь, что вы используете транзакционные фикстуры , и эти изменения будут отменены после завершения сценария.

0 голосов
/ 10 ноября 2009

ОК, исходя из того, что вы сказали, вы можете сделать это:

Background: Create verses 
 Given the following verses exist:
 |number|text |
 |2999  |hello|
 |2998  |hello| 
 |2997  |hello| 
 |2996  |hello| 

Scenario: A user sees only verses in their reading plan
  Given I am signed in as the Reader "Rodreegez"
  And I have reading recomendations
  When I follow "Read"
  Then I should see the following verses: 
  |number|text |
  |2999  |hello| 
  |2998  |hello| 
  And I should not see the following verses: 
  |number|text | 
  |2997  |hello| 
  |2996  |hello| 

Конечно, это скорее связано с созданием стихов из модели, используя что-то вроде Factory Girl. Это будет возможно?

0 голосов
/ 09 ноября 2009

База данных SQLite - это просто файл. Не могли бы вы просто скопировать нужный файл базы данных (предварительно заполненный нужными данными) до начала ваших тестов?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...