Тестирование конвейера активов с Capybara - PullRequest
2 голосов
/ 16 ноября 2011

Я хочу сделать простые спецификации запросов в моем приложении Rails 3.1 с Capybara. Все стандартные случаи работают должным образом, но когда я хочу протестировать CSS, сгенерированный конвейером ресурсов, я получаю следующую ошибку:

Failure/Error: visit '/assets/main.css'
ActionController::RoutingError:
  No route matches [GET] "/assets/main.css"

Я думаю, что проблема в том, что тестовая среда не предоставляет полный сервер, а также промежуточное ПО Sprockets, доставляющее ресурсы. Есть ли решение этой проблемы?

РЕДАКТИРОВАТЬ: теперь возможно! Мы обновили до Rails 3.2.12 и Capybara 2.0.2, теперь ресурсы также доступны в спецификациях возможностей.

1 Ответ

4 голосов
/ 22 ноября 2011

Ребята из Phusion написали в блоге о возможности отобразить актив в строку :

MyApp::Application.assets.find_asset('main.css').body

Вы также можете использовать это в тестах. Решение не идеальное и / так как Capybara больше не участвует, но в моем конкретном случае это помогает для проверки CSS. Лучшие подходы приветствуются!

...