0
votes

Comment utiliser la variable dans le fichier de fonctionnalités

Comment puis-je utiliser des variables dans mon fichier de fonctionnalités? Spécifiquement, j'ai besoin d'utiliser datetime.now . Idéalement, quelque chose comme ... xxx

et dans mon fichier de test d'acceptation ... xxx

est-ce la bonne façon d'aller cette? Je ne suis pas sûr de savoir comment utiliser des variables dans mon fichier de fonctionnalités. Je veux que mon test d'acceptation utilise la date actuelle .


0 commentaires

3 Réponses :


4
votes

Le moyen le plus simple consiste à écrire une étape spécifique aux éléments de retour des lignes de retour pour "en ce moment": xxx pré>

Vous pouvez appeler l'autre version de la marche à partir de la nouvelle version: p >

[Given(@"the API returns items for right now")]
public void GivenTheAPIReturnsItemsForRightNow()
{
    GivenTheAPIReturnsItemsFor(DateTime.Now);
}


0 commentaires

2
votes

Je suis partiellement d'accord avec Greg Brugghardts Réponse. Étant donné que le fichier de fonctionnalités est quelque chose que vous pouvez partager avec les intervenants d'entreprise (ou d'autres personnes non-informatiques de votre organisation), il serait plus logique d'utiliser la langue «du monde réel» dans vos fichiers de fonctionnalités. De plus, lorsque vous transmettez cela à un outil de rapport à la fin du test, il serait plus lisible.

Je l'aborderais comme ça. L'instruction de commutation facilite l'ajout d'autres types de dates avec une langue du monde réel: xxx

Votre fichier de fonctionnalité pourrait alors ressembler à xxx


1 commentaires

C'est sûr que mon commentaire sur la langue du monde réel a été signalé à l'exemple donné par Kevin Price où il essaie de passer DateTime.Now dans son fichier de fonctionnalités. Aurait pu libellé qu'un peu mieux :-)



1
votes

Un moyen, l'IMO plus facile, pour obtenir la date de date actuelle dans votre test est [StepargumentTransformation] , puis vous pouvez extraire la date ou d'autres choses. De cette façon, vous pouvez utiliser [stepargumenttransformation] dans d'autres étapes de votre gerkin comme ci-dessous, ce qui aboutit à moins de code

étant donné que l'API renvoie des éléments pour l'actuel Time étant donné la base de données1 renvoie des éléments pour rightnowTime

étant donné que la base de données2 renvoie des éléments de présentation

ci-dessus est juste EX, mais essentiellement Associez-le avec toute la variable de chaîne que vous aimez xxx

Le code ci-dessus enregistre l'heure actuelle et la date actuelle trois fois


1 commentaires

La seule plainte que j'ai à propos de ceci est le libellé que vous choisissez (qui pourrait être changé), mais +1 pour la pointe des transformations de l'étape. Ils sont très utiles.