2010-10-23 4 views
2

Cela devrait être simple mais je ne trouve aucun exemple. J'ai des tests fonctionnels standard dans mes rails 3 application (descendant de ActionController :: TestCase) qui ressemblent à:Test fonctionnel Rails - excluant la méthode de configuration

test "see if 1+1=2" do 
.... 
end 

et en haut, j'ai une méthode d'installation:

setup do 
    ...... 
end 

Comment puis-je exclure une méthode? C'est à dire.

setup :except => "see if 1+1=2" do 
... 
end 

(ci-dessus ne fonctionne pas OBV)

Répondre

0

Utilisez shoulda et blocs contexte, de cette façon vous pouvez mettre les tests à l'aide de la configuration dans un contexte, et les tests ne les utilisez pas dans un autre, ou à l'extérieur l'autre bloc de contexte.

0

Je suis curieux à ce sujet aussi. Une solution sans installation et l'apprentissage de nouvelles gemmes serait de définir une fonction privée dans votre test

test "see if 1+1=2" do 
    setup_situation_1 
    ... 
end 

test "see if 1 * 1 = 1" do 
    setup_situation_1 
    .. 
end 

test "see if 1/1 = 1" do 
    # no setup here 
    ... 
end 

... 

private 
def setup_situation_1 
    ... 
end 

Ceci est l'approche DRY-est que je peux penser sans installer/l'apprentissage d'une nouvelle pierre précieuse - qui peut être un solution préférable pour certaines personnes, en particulier ceux qui sont nouveaux sur les rails. Cependant, je ne peux pas trouver la documentation sur cette méthode setup/do - une clause "except" pour setup/do serait certainement DRY-er.

Questions connexes