ОК, я пишу тесты производительности и у меня возникают проблемы с сохранением моего сеанса, как это происходит в интеграционных тестах. Насколько я понимаю, PerformanceTest является дочерним элементом IntegrationTest, и любые интеграционные тесты должны работать с тестом производительности. Однако, когда я беру интеграционный тест и копирую его на производительность, меняю ActionController :: IntegrationTest на ActionController :: PerformanceTest, а затем запускаю тест, он не проходит.
Я использую Authlogic, и у меня не было проблем с запирающимися сессиями интеграционных тестов. С помощью тестов производительности, похоже, что сессия создается должным образом, но когда я захожу на страницу «/ reports» (которая является защищенной страницей), он перенаправляет меня на страницу входа, как будто сеанса пользователя вообще нет.
require 'performance_test_help'
class SimpleTest < ActionController::PerformanceTest
setup :activate_authlogic
test "login" do
assert user_session = UserSession.create!(User.find_by_login("admin"))
get "/reports"
assert_response :success
end
end
Что здесь происходит? Я пробовал несколько способов получить сеанс пользователя (создать, опубликовать и т. Д.), Но ничего не работает. Это первый раз, когда я пишу тесты производительности, поэтому я, вероятно, делаю глупости ...
Кстати: я использую Ruby 1.8.7, Rails 2.2.2 на Debian Squeeze.