J'ai eu une série de scénarios qui ressemblent à ceci:Specflow - Scénario outilne avec table de données
Given these receipts:
| Amount | Date | Company |
| 1000 | 2016/10/25 | One Company |
| 1200 | 2016/10/20 | Another Company |
| 1500 | 2016/10/13 | My Company |
And delay is 15
When I calculate date of payment
Then Date of payment should be 20
Given these receipts:
| Amount | Date | Company |
| 1000 | 2016/10/25 | One Company |
| 1200 | 2016/10/20 | Another Company |
| 1500 | 2016/10/13 | My Company |
And delay is 30
When I calculate date of payment
Then Date of payment should be 15
Given these receipts:
| Amount | Date | Company |
| 1000 | 2016/10/25 | One Company |
| 1200 | 2016/10/20 | Another Company |
| 1500 | 2016/10/13 | My Company |
And delay is 45
When I calculate date of payment
Then Date of payment should be 10
J'appris Scenario outline
et j'ai essayé de faire un pour les scénarios ci-dessus, mais avait du mal à mettre dans les recettes pour des raisons évidentes:
Given these receipts: '<receipts>'
And delay is <delay>
When I calculate date of payment
Then Date of payment should be '<dateOfPayment>'
Examples:
| delay | dateOfPayment | receipts |
| 15 | 20 | | Amount | Date | Company | |
| | 1000 | 2016/10/25 | one company | |
| | .............................. | |
Given
que je veux la même collection de, dans ce cas, receipts
pour tous scenarios
dans mon Feature
comment puis-je déclarer une table qui sera passé à l'endroit de '<receipts>'
dans le scenario outline
Peut-être, devrais-je procéder avec une approche différente?
---------------------------------- EDITED ----------- ---------------------
peut-être quelque chose comme ça pourrait fonctionner (mais il n'est pas mis en œuvre Gherkin
):
Given these receipts: '<receipts>'
And delay is <delay>
When I calculate date of payment
Then Date of payment should be '<dateOfPayment>'
Examples:
| delay | dateOfPayment |
| 15 | 20 |
Placeholder: '<receipts>'
| Amount | Date | Company |
| 1000 | 2016/10/25 | One Company |
| 1200 | 2016/10/20 | Another Company |
| 1500 | 2016/10/13 | My Company |
Si les données 'réceptibles' sont constantes d'un scénario à l'autre, vous devez les conserver dans les scénarios d'origine. Et mettez simplement le 'delay' et le 'dateOfPayment' dans les exemples de scénario. Mais si les données sur les recettes changent d'un scénario à l'autre, cela ne fonctionnerait pas.Quelle est la dépendance des trois entreprises dans le datatable? – Grasshopper
société est seulement une information dans cet exemple, il pourrait être une autre date (date d'émission, date d'échéance). – sabotero
@Grasshopper donc je dois répéter la table pour chaque scénario? Il semble que cela pourrait être factorisé d'une manière ou d'une autre, peut-être créer un autre scénario avec seulement un donné qui passe la table en paramètre. Peut-être quelque chose comme [this] (http://www.specflow.org/documentation/FeatureContext/) (sans utiliser le feturecontext qui est mentionné dans ce lien)? – sabotero