Я записал функциональное испытание, которое изменяется, некоторые переменные среды объекта запроса для моделирования пользователя вошли в систему.
require 'test_helper'
class BeesControllerTest < ActionController::TestCase
# See that the index page gets called correctly.
def test_get_index
@request.env['HTTPS'] = "on"
@request.env['SERVER_NAME'] = "sandbox.example.com"
@request.env['REMOTE_USER'] = "joeuser" # Authn/Authz done via REMOTE_USER
get :index
assert_response :success
assert_not_nil(assigns(:bees))
assert_select "title", "Bees and Honey"
end
end
Функциональное испытание хорошо работает.
Теперь я хочу сделать что-то подобное как часть интеграционного тестирования. Вот то, что я попробовал:
require 'test_helper'
class CreateBeeTest < ActionController::IntegrationTest
fixtures :bees
def test_create
@request.env['HTTPS'] = "on"
@request.env['SERVER_NAME'] = "sandbox.example.com"
@request.env['REMOTE_USER'] = "joeuser" # Authn/Authz done via REMOTE_USER
https?
get "/"
assert_response :success
[... more ...]
end
end
Я получаю ошибку при жалобе этого @request
ноль. Я подозреваю, что это имеет некоторое отношение к объекту сессии, но я не уверен, как заставить его работать.