2010-05-28 4 views
0

Pour mes tests RSpec, j'associerai automatiquement des fichiers de données à chaque test. Pour clarifier, si mes tests requièrent chacun un fichier xml comme données d'entrée et ensuite des instructions xpath pour valider les réponses qu'ils récupèrent, j'aimerais externaliser les fichiers xml et xpath en tant que fichiers et faire en sorte que le framework de test les associe facilement au test exécutez en utilisant l'ID unique du test en tant que le nom du (des) fichier (s). J'ai essayé d'obtenir ce comportement mais la solution n'est pas très propre. J'ai écrit une méthode d'assistance qui prend la valeur de "description" et la combine avec FILE pour créer un identifiant unique qui est défini dans une variable globale à laquelle d'autres utilitaires peuvent accéder. L'identifiant unique est utilisé pour associer les fichiers de données dont j'ai besoin. Je dois appeler cette méthode d'aide comme la première ligne de chaque test, ce qui est laid.Meilleur moyen d'associer des fichiers de données à des tests particuliers dans RSpec/Ruby

Si j'ai un exemple RSpec qui ressemble à ceci:

describe "Basic functions of this server I'm testing" do 
    it "should give me back a response" do 
    # Sets a global var to: "my_tests_spec.rb_should_give_me_back_a_response" 
    TestHelper::who_am_i __FILE__, description 
    ... 
    end 
end 

Y at-il une meilleure/propre/Slicker façon dont je peux obtenir un identifiant unique pour chaque test que je pourrais utiliser pour associer les fichiers de données avec? Peut-être que quelque chose construit dans RSpec je ne suis pas au courant?

Merci, -Bill

Répondre

0

Je viens d'apprendre sur le nifty global avant et après crochets. Je peux cacher le code de création d'ID unique là. Cela rend les choses beaucoup plus propres. J'irai probablement avec cette solution à moins qu'il y ait un moyen encore plus lisse d'acquérir un identifiant unique pour chaque test. Merci