Тестирование мобильных представлений для приложения rails - PullRequest
1 голос
/ 25 апреля 2011

В приложении rails, если я использую другой формат запроса для мобильных телефонов. например сделать * .mobile.erb. Каковы лучшие практики для написания тестов для этого? Я использую RSpec и не могу найти информацию о том, как заставить его отображать мобильные представления.

Ответы [ 2 ]

4 голосов
/ 25 апреля 2011

Я предполагаю, что вы имеете в виду спецификации вида (в отличие от интеграционных тестов)? Метод render RSpec2 делегирует ActionView::Base#render, так что вы можете передать: file,: template,: format и т. Д. В render в ваших спецификациях представления. Возможно, лучшим подходом было бы просто указать правильное представление при описании спецификации следующим образом (пример с разорванной формы на сайте RSpec2):

describe "events/index.mobile.erb" do
  it "renders _event partial for each event" do
    assign(:events, [stub_model(Event), stub_model(Event)])
    render
    view.should render_template(:partial => "_event", :count => 2)
  end
end

Для интеграционных тестов вам потребуется установить user-agent. Вот ссылка на другой вопрос, касающийся изменения пользовательского агента (то же самое для RSpec): Можно ли указать пользовательский агент в тесте интеграции rails или в спецификации?

Удачи!

0 голосов
/ 25 апреля 2011

Я не знаю точного ответа, но просто измените user-agent заголовков запроса на User-agent мобильного телефона

...