Ruby on Rails: Concombre: comment rake une seule caractéristique?

La raison pour laquelle je veux les exécuter individuellement, c’est parce que je dois les configurer individuellement dans mon fichier Rake, parce que My Java Heap Space se remplit lorsque je les exécute tous ensemble

Pour répondre directement à la question Rake, vous pouvez utiliser:

rake FEATURE=features/adding_products.feature cucumber 

mais la page wiki Using Rake déconseille l’utilisation de rake pour autre chose que sur un serveur CI, car il est plus lent à démarrer. Utilisez simplement la ligne de commande concombre, à savoir:

 cucumber features/adding_products.feature 

ou, si vous devez:

 bundle exec cucumber features/adding_products.feature 

La manière correcte est de l’exécuter en utilisant l’exécutable cucumber si vous utilisez Rails 2, ou bundle exec cucumber si vous utilisez Rails 3 (et donc Bundler).

Pour exécuter une fonctionnalité spécifique:

 [command] features/signing_in.feature 

Pour exécuter un scénario spécifique à partir de cette fonctionnalité:

 [command] features/signing_in.feature:6 

Le numéro de ligne peut être n’importe quelle ligne à l’intérieur de cette entité, mais est généralement la première ligne.

Si vous exécutez rake cucumber:ok et certains scénarios échouent, au bas de la sortie vous verrez quelque chose comme ceci:

 cucumber features/sigining_in.feature:6 # Signing in via form 

Vous pouvez cliquer trois fois sur cette ligne et la coller dans votre terminal pour exécuter ce scénario.

Le râteau n’a pas fonctionné pour moi. Je viens de remplacer le rake par un bundle exec, et ça a fonctionné. ci-dessous est un échantillon.

Caractéristiques du concombre exec exécutable / users / signup.feature – nécessite des fonctionnalités

Je ne suis pas sûr que la fonctionnalité d’étiquette de concombre était disponible lorsque la question a été posée, mais je préfère définir @active tag

  @active Feature .. 

ou

  @active Scenario .. 

et

  cucumber --tags @active 

J’aime la commande courte $ cucumber -n .

Si:

 Feature: Manage Contents In order to manage instances from custom content types … 

Alors:

 $ cucumber -n "Manage Contents" 

Pour exécuter un seul fichier de fonctionnalité.

 cucumber /project folder/features/featurefile.feature 

Pour exécuter un scénario particulier:

 cucumber /project folder/features/featurefile.feature:10 

où 10 est la ligne de scénario.

Si vous utilisez un bundler,

bundle exec cucumber /project folder/features/featurefile.feature

Vous pouvez utiliser script/cucumber pour faire des fichiers individuels.

En supposant que vous êtes dans le répertoire racine de votre projet et que vous avez un dossier de fonctionnalités:

 ./script/cucumber features/adding_products.feature 

Modifier: après relecture de votre question, recherchez-vous des fonctionnalités individuelles ou des scénarios?

Si vous utilisez cuke4duke, vous pouvez l’exécuter séparément de ant ou maven.

Le manuel indique que vous pouvez utiliser les mêmes options que le concombre. Je suppose donc que vous pouvez ignorer le nom de fichier de la fonctionnalité que vous souhaitez exécuter sur la ligne de commande.

Les parameters généralement requirejs lorsque vous avez plusieurs projets de concombre dans une grande entreprise sont 1) où exécuter les tests 2) quel environnement exécuter 3) quel navigateur 4) quels tags

Vous trouverez ci-dessous un modèle très flexible qui peut être utilisé de différentes manières en fonction de vos besoins. Ce motif peut être utilisé localement, contre une grid de selenium, contre des saucisses et dans un environnement d’continuous integration

http://seleniumframework.wordpress.com/2014/05/18/pattern-for-running-multiple-cucumber-projects-on-ci-server/