я имел ряд сценариев, которые выглядят следующим образом:Specflow - Сценарий outilne с таблицей данных
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
Так я узнал о Scenario outline
, и я пытался сделать один для вышеуказанных сценариев, но были проблемы положить в квитанции по понятным причинам:
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
, что я хочу ту же коллекцию, в этом случае, receipts
для всех scenarios
в моем Feature
как я могу объявить таблицу, который будет передан по адресу '<receipts>'
в scenario outline
Возможно, должен ли я действовать по-другому?
---------------------------------- EDITED ----------- ---------------------
может быть что-то подобное может работать (но это не реализовано в 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 |
Если данные данных «квитанций» являются постоянными в разных сценариях, вы должны хранить их там, где у вас есть в исходных сценариях. И просто поставьте «delay» и «dateOfPayment» в примерах схемы сценария. Но если данные квитанций изменяются в разных сценариях, это не сработает.Какова зависимость трех компаний в данных? – Grasshopper
Компания - это только информация в этом примере, это может быть другая дата (дата выпуска, срок исполнения). – sabotero
@ Grasshopper, так что я должен повторить таблицу для каждого сценария? Похоже, что это может быть факторизовано каким-то образом, возможно, создание другого сценария с только заданным, передающим таблицу в качестве параметра. Возможно, что-то вроде [this] (http://www.specflow.org/documentation/FeatureContext/) (без использования feturecontext, упомянутого в этой ссылке)? – sabotero