Как бороться с дорогостоящим созданием объекта fixture / factory_girl в тестах? - PullRequest
1 голос
/ 05 декабря 2011

Для всех пользователей нашей системы мы генерируем пару секретный / открытый ключ, которая часто занимает секунду или две. На живом сайте это не нарушает соглашения, но делает тесты чрезвычайно медленными, и медленные тесты не запускаются.

Наша установка - Rails 3.1 с factory_girl и rspec.

Я пытался заранее создать (примерно 10) некоторых с методом возврата случайного, но это кажется проблематичным: возможно, они удаляются из базы данных и недоступны для последующих тестов ... Я не уверен.

Это может быть полезно: https://github.com/pcreux/rspec-set - есть еще идеи?

Ответы [ 2 ]

0 голосов
/ 13 декабря 2011

https://github.com/pcreux/rspec-set было достаточно для того, что нам нужно, в сочетании с блоком after / all для очистки после отбрасываний, которые он оставляет в базе данных.

0 голосов
/ 05 декабря 2011

Вы всегда можете создать поддельную пару ключей для своих тестов. Их создание не будет работать, по крайней мере, если вы сохраните их в БД, потому что БД должна очищаться для каждого теста. Я полагаю, вы могли бы сохранить их в файле YAML или что-то еще и прочитать их оттуда ...

...