How do I change the default "www.example.com" domain for testing in rails?
Solution 1:
I think all answers are incomplete here... To enumerate all possible cases:
-
Integration Specs (inheriting from
ActionDispatch::IntegrationTest
):host! "my.awesome.host"
See the docs, section 5.1 Helpers Available for Integration Tests.
-
Controller Specs (inheriting from
ActionController::TestCase
)@request.host = 'my.awesome.host'
See the docs, section 4.4 Instance Variables Available.
-
Feature Specs (through Capybara)
Capybara.default_host = "http://my.awesome.host" # Or to configure domain for route helpers: default_url_options[:host] = "my.awesome.host"
From @AminAriana's answer
-
View Specs (inheriting from
ActionView::TestCase
)@request.host = 'my.awesome.host'
...or through RSpec:
controller.request.host = "my.awesome.host"
See the
rspec-rails
view spec docs.
Solution 2:
@request.host = 'user.myapp.com'