У меня есть интеграционный тест Rails 4
, который работает и проходит, когда я говорю. Он работает на сервере Ruby Thin
. Теперь я настроил сервер Nginx
, который проксирует все запросы, и я хочу, чтобы мой интеграционный тест указывал на сервер Nginx
и запускался так, как они будут запускаться непосредственно на сервере Thin
.Как выполнить интеграционные тесты против сервера Nginx + Thin on Rails
Тест интеграции побежал с помощью следующей команды:
rake test:integration TEST=test/integration/login_test.rb
Как настроить свои интеграционные тесты, чтобы они могли работать и передавать с Nginx
действуя в качестве обработчика запросов прокси-сервер?
Old: Integration Test -> Thin Server (TESTS PASSING FINE !!!!)
New: Integration Test -> Nginx Server -> Thin Server (HOW TO CONFIGURE TESTS ????)
Мои Nginx уже и работает с именем: www-mynginx-server.com
login_test.rb
require 'test_helper'
class LoginTest < ActionDispatch::IntegrationTest
setup do
@user = users(:admin)
end
test "login page is displayed on root path" do
delete '/signout'
get root_path
assert redirect?
assert_redirected_to '/signin'
follow_redirect!
assert_template :new
assert_template %r{\Adevise/sessions/new\Z}
assert_select "a[href=?]", users_path, count: 0
assert_select "input[id=?]", 'user_email', count: 1
assert_select "input[id=?]", 'user_password', count: 1
assert_select "input[value=?]", 'Log in', count: 1
end
end
T ombart - у меня уже есть приложение, развернутое и доступное с помощью как автономного Tiny сервера, так и Nginx + Tiny. Так работают 'http: //10.0.2.15: 3000/signin' и' www-mynginx-server.com/sigin'. Я хочу знать, какие изменения конфигурации мне нужно сделать в моей конфигурации тестов Rails, чтобы он мог интерпретировать и удалять сервер Nginx. – user2325154
@ user2325154 Извините, я не обратил на это внимания. Я обновил ответ, если вы хотите это только для теста интеграции, я бы выбрал первый вариант. – Tombart
@ Tom- Спасибо за обновление. Я указал 'host! 'www-mynginx-server.com'' в моем файле 'test_helper.rb', и я получил следующее сообщение об ошибке, когда я запустил тест' NoMethodError: undefined method 'host!' для ActiveSupport :: TestCase: Class' – user2325154