Ich benutze das Juwel Browser mobile Geräte zu erkennen und umleiten sie zu einer anderen Landung auf einer Schiene App. Der Code, den ich verwende, ist dieser:Browser Gem Test mit Capybara
Rails.configuration.middleware.use Browser::Middleware do
redirect_to mobile_landing_path if browser.device.mobile? || browser.device.ipad? || browser.device.tablet?
end
Jetzt brauche ich einen Feature-Test Rspec und Capybara zu tun, und ich bin hier ein wenig verloren. Ich schätze die Hilfe sehr.
Tests habe ich jetzt verwendet capybara user agent und sieht wie folgt aus: aber es scheint es die Basis der Landung und nicht das Handy ein
feature 'Visiting the site from an' do
context 'Android device' do
background do
set_user_agent(:android)
end
scenario 'I should be redirected to mobile landing' do
visit root_path
expect(page).to have_current_path(mobile_landing_path)
end
end
end
Was genau versuchen Sie zu testen, was haben Sie versucht, welche Fehler haben Sie bekommen? (Auch Ihre Logik scheint rückwärts - ich würde denken, dass Sie auf den mobile_landing_path umleiten möchten, wenn der Browser mobil ist?) –
Ich habe die Logik korrigiert und fügte den Test, den ich versuche, anzugehen –
Sind Sie sicher, Browser und Capybara- user_agent definiert "Android" als explizit mobil? Haben Sie versucht, den Test speziell auf andere mobile Agenten (wie iOS) zu setzen und zu testen, ob das funktioniert? – Beartech