Comment envoyer un cookie dans un test fonctionnel? Comment puis-je tester pour être sûr que le cookie est effacé? J'ai eu beaucoup de succès en utilisant TDD pour construire les modèles pour une application Rails, mais j'ai rencontré un problème en ce qui concerne le test du contrôleur: je peux définir les valeurs des cookies une fois dans un test et les lire, mais je ne peux pas les effacer. C'est:Test de l'effacement des valeurs de cookie dans Rails?
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
Le guide d'essai des rails ne mentionne pas comment simuler l'envoi d'un cookie dans un test, juste comment vérifier que les données ont été définies sur le serveur. Je sais que j'ai déjà rencontré une situation où les données de cookies ne sont pas modifiées sur le serveur tant que la réponse n'est pas envoyée. Est-ce que c'est ce qui se passe ici? J'avais espéré que les tests fonctionnels auraient mieux fait d'être le client.
Est-ce un problème largement connu? Les gens se résignent-ils simplement à utiliser JUnit pour ce genre de chose? J'aimerais vraiment être en mesure d'utiliser un cadre pour tous ou presque tous de mon tdd.
pur désespoir et devinettes m'a amené à essayer avec optimisme @ Response.Cookies, mais cela ne fonctionne pas non plus.
Notez que les tests manuels - impression des cookies dans un fichier * .html.erb - révèlent que les cookies sont en effet effacés. Pourquoi ne peut pas ce travail? !! – Mike