Как мне отправить куки в функциональном тесте? Как мне проверить, что куки очищены?
Я имел большой успех, используя TDD для построения моделей для Rails-приложения, но столкнулся с трудностями при тестировании контроллера: я могу установить значения cookie один раз в тесте и прочитать их, но не могу очистить их. То есть:
test "clears cookie" do
get :set_it, :stuff => {'key' => 'value'} # stuff to cookify
assert cookies['key'] == 'value' # works fine
get :clear_it # cookie doesn't get sent. How do I simulate this?
assert nil == cookies['key'], 'Cookie not cleared' # fails
end
В руководстве по тестированию рельсов не упоминается, как имитировать отправку куки в тесте, а только как проверить, что данные были установлены на сервере. Я знаю, что раньше сталкивался с ситуацией, когда данные cookie не изменяются на сервере до отправки ответа. Это то, что здесь происходит? Я бы надеялся, что функциональные тесты сделают лучше «быть клиентом».
Это широко известная проблема? Люди просто смиряются с использованием JUnit для такого рода вещей? Я бы очень хотел иметь возможность использовать один фреймворк для всех или почти всех моего tdd.
Чистое отчаяние и догадки заставили меня с оптимизмом попробовать @ response.cookies, но это тоже не сработало.