2010-12-15 68 views
1

Je viens d'installer la gemme aruba qui est une extension de concombre. Il vous permet de tester des applications de ligne de commande - comme des générateurs dans Rails (mais, comme le souligne la documentation, vous pouvez l'utiliser pour n'importe quelle application cmd).Aruba concombre tests (ruby1.9.2)

J'ai suivi this pivotal labs article à propos de l'utilisation, mais pour une raison quelconque, il ne passe pas la première étape: la première étape est verte (la création de l'application), mais l'étape suivante essaie de cd test_app et can ' Je le trouve et échoue.

Given I run "rails new test_app"      # features/step_definitions/aruba_steps.rb:95 
And I cd to "test_app"         # features/step_definitions/aruba_steps.rb:91 
    tmp/aruba/test_app is not a directory. (RuntimeError) 
    ./features/step_definitions/aruba_steps.rb:92:in `/^I cd to "([^"]*)"$/' 
    features/generators.feature:9:in `And I cd to "test_app"' 

Il semblerait que le dossier de l'application ne sont pas réellement en cours de création, bien que la recherche dans la base dir je peux voir le tmp/aruba/pliage est. Après avoir piqué autour de la source pendant un moment, je ne peux rien trouver pour expliquer pourquoi. Est-ce que quelqu'un d'autre a eu une expérience avec cette gemme et a trouvé la même chose?

Existe-t-il d'autres alternatives BDD pour tester les générateurs ou les tâches de rake, etc.?

Suite à Ryans Réponse:

Une fois que j'ajouté ce qui suit à la features/support/env.rb (travail à la base des rails répertoire):

Before do 
    @dirs = [File.expand_path(File.dirname(__FILE__) + '/../../../aruba_test_dir')] 
end 

Alors que le concombre est la construction de l'application en dehors du courant rails app, cela résout le problème.

Répondre

2

Mes pensées initiales: Je pense que ce qui causerait ceci est si Rails n'était pas dans votre paquet. Mais vous semblez être un homme intelligent et j'ai donc essayé de dupliquer votre exemple et j'ai découvert que j'avais la même chose.

Perplexe, je me suis assuré que je devenais sortie:

Scenario: title 
    Given I run "rails new test_app" 
    Then the output should contain: 
    """ 
     app/mailers 
    """ 
    And I cd to "test_app" 

Il se trouve simplement en observant que la sortie contient app/mailers que ce processus fonctionne. C'est très quantique et probablement un bug dans Aruba ou Rails. Je ne suis pas sûr de qui.

+0

Fonction d'onde D ** ned. Merci! – scaney