модуль ActionDispatch::Integration::Runner
Публичные методы экземпляра
# File actionpack/lib/action_dispatch/testing/integration.rb, line 327 def app @app ||= nil end
# File actionpack/lib/action_dispatch/testing/integration.rb, line 374 def default_url_options reset! unless integration_session integration_session.default_url_options end
# File actionpack/lib/action_dispatch/testing/integration.rb, line 379 def default_url_options=(options) reset! unless integration_session integration_session.default_url_options = options end
Делегировать необработанные сообщения текущему экземпляру сессии.
Вызывает метод суперкласса
# File actionpack/lib/action_dispatch/testing/integration.rb, line 389
def method_missing(sym, *args, &block)
reset! unless integration_session
if integration_session.respond_to?(sym)
integration_session.__send__(sym, *args, &block).tap do
copy_session_variables!
end
else
super
end
end Открыть новый экземпляр сессии. Если задан блок, новый экземпляр сессии передаётся в блок перед возвращением.
session = open_session do |sess| sess.extend(CustomAssertions) end
По умолчанию для вас автоматически создаётся одна сессия, но вы можете использовать этот метод для открытия нескольких сессий, которые должны быть протестированы одновременно.
# File actionpack/lib/action_dispatch/testing/integration.rb, line 359
def open_session(app = nil)
dup.tap do |session|
yield session if block_given?
end
end Сбросить текущую сессию. Это полезно для тестирования нескольких сессий в одном тестовом случае.
# File actionpack/lib/action_dispatch/testing/integration.rb, line 333 def reset! @integration_session = Integration::Session.new(app) end
Вызывает метод суперкласса
# File actionpack/lib/action_dispatch/testing/integration.rb, line 384 def respond_to?(method, include_private = false) integration_session.respond_to?(method, include_private) || super end
© 2004–2016 David Heinemeier Hansson
Licensed under the MIT License.