Je voulais tester une méthode dans ma classe d'aide, mais quand je fais quelque chose comme:Ne peut pas utiliser le flash dans ActionView :: TestCase quand je veux tester ma classe d'aide
require 'test_helper'
class ApplicationHelperTest < ActionView::TestCase
def test_flash_messages
flash[:notice] = "Hello World"
assert_equal "<div class=\"message-notice\">Hello World<\/div>", flash_messages
end
end
que je reçois « NoMethodError : méthode non définie flash » pour nul: NilClass "
mais quand je fais quelque chose comme:
flash = {}
flash[:notice] = "Hello World"
assert_equal "<div class=\"message-notify\">Hello World<\/div>", flash_messages
Je reçois le même message d'erreur, mais il est appelé dans" application_helper.rb: 6:` flash_messages '"
Par la façon dont mon application_helper ressemble:
module ApplicationHelper
def flash_messages
fl = ''
flash.each do |key,msg|
if flash[key]
fl = fl + "<div class=\"message-#{key}\">#{msg}</div>"
end
flash[key] = nil
end
return fl
end
end
Cela fonctionne sur le site, mais je veux être en mesure de tester ce genre de méthode avec test unitaire.
Thaks pour la réponse. Triste ... Si j'avais su que la plate-forme de test standard n'est pas capable de tester n'importe quel type de problèmes à venir, j'aurais choisi une autre plateforme ... – vurte
Je crois qu'il y a des tests de vue avec une installation par défaut. Vous pouvez vous aussi tester le flash. – Ariejan