2010-04-08 2 views
2

J'ai écrit un test rspec en utilisant Watir par rapport à une application Web et il fonctionne correctement. Cependant, je veux maintenant pouvoir exécuter ce test contre l'application Web s'exécutant sur différents noms de domaine. Ma première pensée était que je serais capable de passer une valeur à spec à la ligne de commande pour définir une variable dans mon script, mais je ne vois pas de méthode simple pour le faire. Ma seconde réflexion a donc été que je devais ajouter un ensemble de domaines dans mon script et les tester tous, mais je ne veux pas toujours tester tous les domaines, et les domaines changent constamment à mesure que nous ajoutons et supprimons des sites. être testé.Exécution de rspec sur plusieurs cibles

Quelles sont mes options pour permettre le choix des cibles que je veux?

Répondre

3

Vous pouvez définir une variable d'environnement, car elle est transmise. RSpec l'utilise pour ses tâches de rake, btw.

Dans vos spécifications, vous pouvez faire quelque chose comme:

before { @host = ENV['TARGET'] || 'default_target.com' } 

Vous pouvez l'exécuter comme ceci:

TARGET=google.com spec . 

Ou:

TARGET=stackoverflow.com rake spec 
+0

En outre, si cela est un plus grand projet vous pouvez placer la gestion ENV dans votre spec_helper.rb –

Questions connexes