Как заставить работать многострочные строки в примерах в схеме сценария в тестах на огурец? - PullRequest
3 голосов
/ 20 февраля 2011

Я хотел бы использовать многострочные строки в разделе «Примеры» схемы сценария.Как это сделать?

например

Scenario Outline:
  Given something
  When `<action>` happens
    I should get elaborative `<duuh>`
  Examples:
    |action|duuh|
    |"""
    tututuut
    """|"""blablabla m
    ultiline"""|

не выглядит чистым и не работает

Ответы [ 3 ]

1 голос
/ 17 сентября 2015

Я отдаю приоритет огурцу на выходе , а не на корнишоне на , хотя первый приз за то, чтобы оба были красивыми. Так что значения многострочных примеров для меня не имеют смысла, потому что они абсолютно разрушают вывод огурца.

Cucumber предлагает читабельный вывод для многострочных данных с строк документа . Он поощряет читабельный вывод для матриц данных с набросками сценария . Я не думаю, что это способствует удобочитаемому выводу многострочных матриц данных.

Если бы вы могли привести отличные примеры того, как будут выглядеть результаты в таких случаях, они могли бы быть хорошо приняты на форуме Cukes .

В качестве альтернативы, если все, что вы пытаетесь сделать, - это перебирать многострочные данные в функциях Cucumber, придумывать мнемонические имена для многострочных данных, предоставлять эти мнемоники в матрице Examples вашего Scenario Outline и обрабатывать мнемоника как имена файлов фикстур, которые вы прочитали для фактических данных в вашем коде клея.

1 голос
/ 02 августа 2017

Что я сделал, так это разделил длинные строки в файлах (в моем случае это были фрагменты json), и когда мне нужны строки, я просто загружаю нужный файл.

Я сделал это в Grails, но должно быть очень похоже:

Способ чтения файла

static String getMockJsonFile(String fileName){
    new File("${BOOKING_JSON_FILES_PATH}${fileName}.json").text
}

файл Json

"collectionSummary": {
"attempts": [
{
"collectionMethod": {
"creditCardCollectionMethod": {
"id": 2,
"collectionMethodType": "CREDITCARD",
"creditCardType": {
"code": "CA",
"name": "Master Card Credit"
}
}
},
"billingCurrency": "EUR"
}
],
"creationDate": "2017-05-30 14:46:19",
"currency": "EUR",
"collectedAmount": 9.1
}

Если вы установите "" "тройные кавычки в файле, то в строковом результате он тоже будет.

0 голосов
/ 11 марта 2011

Рассматривали ли вы использование \ n в ваших строках для обозначения возврата каретки?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...