web-dev-qa-db-fra.com

Ruby on Rails: Concombre: comment puis-je ratisser une seule fonctionnalité?

La raison pour laquelle je veux les exécuter individuellement, c'est parce que je dois les avoir configurés individuellement dans mon fichier Rake, parce que mon espace de tas Java se remplit lorsque je les exécute tous ensemble

44
NullVoxPopuli

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

rake FEATURE=features/adding_products.feature cucumber

mais la page Using Rake wiki déconseille l'utilisation de rake pour tout sauf sur un serveur CI, car son démarrage est plus lent. Utilisez simplement la ligne de commande concombre à la place, à savoir:

cucumber features/adding_products.feature

ou si vous devez:

bundle exec cucumber features/adding_products.feature
44
Bryan Ash

La méthode correcte consiste à l'exécuter à l'aide de 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 fonctionnalité, mais correspond généralement à la première ligne.

Si vous exécutez rake cucumber:ok et que certains scénarios échouent, 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.

68
Ryan Bigg

Le rake n'a pas fonctionné pour moi ……. Il vient de remplacer le rake avec un bundle exec et cela a fonctionné… ..

Fonctionnalités du bundle exec/users/signup.feature - Fonctionnalités requises

37

Je ne suis pas sûr que la fonction tag du concombre était disponible lorsque la question a été posée, mais je préfère placer le tag @active

  @active
  Feature ..

ou

  @active
  Scenario ..

et

  cucumber --tags @active
15
Alper Karapınar

J'aime la courte commande $ cucumber -n.

Si:

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

Ensuite:

$ cucumber -n "Manage Contents"
13
Robert

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 bundler,

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

3
Aravin

Vous pouvez utiliser script/cucumber pour créer des fichiers individuels.

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

./script/cucumber features/adding_products.feature

Edit: Après avoir relu votre question, envisagez-vous de créer des fonctionnalités individuelles ou des scénarios?

1
theIV

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

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

0
Peter Tillemans

Les paramètres généralement requis lorsque vous avez plusieurs projets de concombres dans une entreprise à grande échelle sont les suivants: 1) Où exécuter les tests 2) Quel environnement utiliser 3) Quel navigateur

Vous trouverez ci-dessous un modèle très flexible et pouvant être utilisé de différentes manières en fonction de vos besoins . Ce modèle peut être utilisé pour une exécution locale, contre une grille Selenium, contre des saucelabs et dans un environnement d'intégration continue

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

0
machzqcq