Поддержка перехода от схемы сценария к файлу JSON - PullRequest
1 голос
/ 13 мая 2019

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

Мы надеемся, что заполнитель сможет получить значение из примеров схемы.

Как это сделать?

Feature: verify parameter passing

  Scenario Outline: verify 2 calls
    * def result1 = call read('baseFeature1.feature')

    * def result2 = call read('baseFeature2.feature') result1

    * print result2

    Examples:
      | fooValue |
      | value1 |
      | value2 |
Feature: feature to verify the parameter passing, no input parameter

Scenario: feature 1

  Given def payload = read('classpath:feature_1.json')

  * print 'feature 1' + payload

  Given def result = { "barValue": "barValue"}

Feature: feature to verify the parameter passing, with input parameter from last step

Scenario: feature 2

  Given def payload = read('classpath:feature_2.json')

  * print payload

feature_1.json

{
  "foo": "#(fooValue)"
}

feature_2.json

{
  "foo": "fooValue",
  "bar": "#(result1.barValue)"
}

1 Ответ

1 голос
/ 13 мая 2019

Я думаю, что версия, находящаяся в стадии разработки, сделает это возможным. Можете ли вы взглянуть на эту проблему GitHub и посмотреть, если это решает ваш вопрос: https://github.com/intuit/karate/issues/717

Также будет здорово, если вы сможете собрать из исходного кода и попробовать эту новую возможность.

Scenario Outline: magic variables with embedded expressions
  * def expected = __num == 0 ? { name: 'Bob', alive: false } : { name: 'Nyan', alive: true }
  * match expected == { name: '#(__row.name)', alive: '#(__row.alive)' }
  * eval karate.set(__row)
  # you can read from a re-usable JSON file instead of the line below
  * match expected == { name: '#(name)', alive: '#(alive)' }

  Examples:
    | name | alive! |
    | Bob  | false  |
    | Nyan | true   |
...