0
votes

Y a-t-il un moyen de spécifier, par exemple (voiture | voitures) dans une définition étape concombre?

Donc j'ai 2 scénarios .... one démarre xxx

l'autre démarre xxx

je les aimerais Pour utiliser la même définition de l'étape - c'est-à-dire quelque chose comme celui-ci xxx

Je sais qu'il est possible de spécifier 2 valeurs possibles (voitures ou voitures), mais je ne peux pas pour le la vie de moi rappelez-vous comment. Est-ce que quelqu'un sait? J'utilise dockumscript, protacteur, angulaire, sélénium.

ont également essayé xxx


0 commentaires

3 Réponses :


0
votes

Autant que je sache, votre définition étape devrait être aussi ci-après pour fonctionner.

donné (/ ^ j'ai "([^"] *)? "(Voiture | Voitures) * $ /, (numéro, élément) => {

Vous pouvez toujours simplifier la première expression régulière.

acclamations!


0 commentaires

3
votes

dans Cukeexp, le () devient des caractères facultatifs. C'est ce que vous voulez.

Votre expression serait donc xxx

heureux d'aider - Plus d'informations peut être trouvée ici: https://cuCumber.io/docs/cucumber/cucumber-expressions/ - Passez au code JS en haut.

Luke - Contributeur de concombre.


0 commentaires

2
votes

La réponse de Luke est excellente et est vraiment une pratique standard lorsqu'il s'agit de cruing.

Je voudrais (et faire) adopter une approche différente. Je soutiendrais vivement que la complexité d'une seule expression comme celle qu'il utilise ne vaut pas la duplication de pas. Laissez-moi expliquer et illustrer. P>

L'idée fondamentale derrière cette approche est que les internes de chaque définition étape doivent être un seul appel à une méthode d'assistance. Lorsque vous faites cela, vous n'avez plus besoin d'expressions ou de regex. P>

Je préférerais et utiliseriez-vous dans mes projets p> xxx pré>

à p>

Given Fred has a car
 @freds_car = create_car
end

Given there are two cars
 [@car1, @car2] = create_car(amount: 2)
end
  • Les définitions d'étape sont plus simples (pas de regex, aucune expression de concombre li>
  • Les trucs pour créer les voitures sont légèrement plus simples (pas de traitement de la regex ou de l'expression) li>
  • La méthode de l'assistance prend en charge et encourage une plus large gamme d'expressions par exemple. LI> ul> xxx pré>
    • La méthode de l'assistance encourage une meilleure communication entre les étapes car vous pouvez attribuer ses résultats par rapport à la définition étape par étape. li> UL>
      Given Fred has a car
      Given there is a blue car and a red car
      


0 commentaires