2017-07-13 3 views
1

J'utilise RSpec et Capybara pour mes caractéristiques de fonctionnalités sur mon application Rails 5.1. Je veux simuler la demande IP à '1.2.3.4' pour une seule spécification.Comment puis-je définir l'adresse IP de la demande dans une spécification de fonctionnalité Capybara?

J'ai essayé ce qui suit avec Poltergeist ...

before do 
    page.driver.add_headers 'REMOTE_HOST' => '1.2.3.4' 
end 

Cependant, en plaçant un levier dans mon contrôleur je vois que request.headers['REMOTE_HOST'] est 127.0.0.1.

+0

Des sons comme celui-ci s'appliquent plus à une spécification de contrôleur ou à une spécification de demande qu'à une spécification de caractéristique. –

+0

Je souhaite tester différents comportements dans mes vues en fonction de la demande IP – HarlemSquirrel

+0

Cela peut être fait à partir d'une spécification de vue ou d'une spécification de demande ou d'une spécification de contrôleur (si vous lui indiquez de rendre les vues). Tous les endroits où vous pouvez modifier la requête, et/ou où il est normal de mocker/talonner des choses (contrairement aux tests de fonctionnalités) –

Répondre