2009-12-16 7 views
0

J'ai créé un simple smoketest pour un portail exécutant java/tomcat/jahia (cms) précédé de serveurs de cache et de big ip. Concombre + Webrat + Mechanize est un bon ajustement pour un simple smoketest de cette configuration. (et cela a été très facile à démarrer).Utilisation de l'environnement vars dans le test de concombre non-rails

En ce moment, j'ai hardcoded en /features/support/paths.rb les lignes suivantes:

module NavigationHelpers 
    #PATH="http://production-environment" 
    #PATH="http://staging-environment" 
    #PATH="http://test-environment" 
    PATH="http://localhost:8080" 

    # 
    def path_to(page_name) 
    case page_name 

    when /the homepage/ 
     "#{PATH}/" 
    when [...] 
     ... 

    end 
    end 
end 

World(NavigationHelpers) 

En ce moment je changer manuellement les commentaires quand je veux tester différents environnements. Le problème ici est que je aimerais se débarrasser de la constante PATH et mettre une valeur par défaut dans l'un des fichiers de support. Et je veux aussi être en mesure de nourrir le concombre avec cette variable d'environnement à partir de la ligne de commande comme ceci:

cucumber ENV=staging 

Comment gères-tu cette question? Aucune suggestion? Liens vers le code qui traite de cela? Des extraits?

Répondre

2

Vous pouvez passer des variables d'environnement au concombre comme vous l'avez fait avec ENV. Chaque environnement vriable sera alors disponible dans la constante ENV de Ruby. Plus de détails dans le Wiki

(Je viens d'ajouter cette page - la fonctionnalité a été autour depuis 0.3.90 mais a été seulement mentionnée dans le fichier History.txt).

+0

Merci pour votre réponse rapide. Je suppose que j'ai toujours besoin de mapper quelque chose comme 'ENV = staging' à' http // staging-server/'ou similaire –

Questions connexes