Пытаясь понять Капибару и издеваться над данными - PullRequest
0 голосов
/ 18 июня 2011

У меня есть приложение для Twitter.Все наши пользователи приходят прямо из Twitter.Это означает, что вы не можете делать какие-либо существенные взаимодействия с приложением, если вы не вошли в систему из Twitter.Наше приложение кеширует (сохраняет данные Twitter пользователя в БД).

Возможна интеграция Capybara с Omniauth.Например, чтобы проверить интеграцию OAuth с Twitter.Я прочитал несколько статей в Интернете об этом.Однако, сложная часть заключается в том, чтобы заставить его работать с Devise + Omniauth (я видел только небольшое количество статей, попробовал их безрезультатно).

Во-вторых, я также изучил файл тестированиязагрузка на S3, что делает его довольно сложным, поскольку мы загружаем непосредственно на S3 с помощью JS (Uploadify), а затем инструктируем Carrierwave для захвата файла.

Некоторые отметили, что вместо этого лучше предоставлять фиктивные данныепытаться проверить OAuth напрямую.Я предполагаю, что они пытаются предложить, чтобы заполнить тестовую базу данных фиктивными данными Twitter.Таким образом, я могу проверить пользователя прямо в приложении.Не беспокоясь о том, как заставить работать тестирование с помощью Rspec + Capybara + Devise + Omniauth + Twitter.

Я мог бы сделать то же самое и для загрузки файлов.Имеет ли это смысл?Это разумный подход?

Ответы [ 2 ]

0 голосов
/ 10 января 2012

В OmniAuth есть помощники для интеграционного тестирования .. Я написал пост об этом, он может помочь вам ..

0 голосов
/ 19 июня 2011

Предварительно заполняя базу данных соответствующими данными, вы избегаете решения всех проблем интеграционного тестирования Omniauth и т. Д. Поскольку сама библиотека уже протестирована, вы также избегаете ненужных накладных расходов.

Так что да - сразу же заполняйте свою базу данных данными.

...