Как включить табличное значение как часть URI? - PullRequest
0 голосов
/ 08 ноября 2018

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

Тестовый файл функций

Scenario: Data Table Test
* table kittens
    | name       | age |
    | 'Bob'      | 2   |
    | 'Wild'     | 1   |
    | 'Nyan'     | 3   |
    | 'Keyboard' | 5   |
    | 'LOL'      | 3   |
    | 'Ceiling'  | 2   |

* def result = call read('comments-call.feature') kittens

Комментарии-Call.feature

@ignore
Feature: re-usable feature to create a single cat

Scenario:
* match __arg == kittens[__loop]

* print '#(name)'

В журнале я вижу следующее:

14:30:55.714 [main] INFO  com.intuit.karate - found scenario at line: 
45 - ^Data Table Test$
14:30:55.879 [main] INFO  com.intuit.karate - [print] #(name)
14:30:55.902 [main] INFO  com.intuit.karate - [print] #(name)
14:30:55.929 [main] INFO  com.intuit.karate - [print] #(name)
14:30:55.947 [main] INFO  com.intuit.karate - [print] #(name)
14:30:55.961 [main] INFO  com.intuit.karate - [print] #(name)
14:30:55.971 [main] INFO  com.intuit.karate - [print] #(name)Karate 
version: 0.9.0.RC4

Я основываюсь на этом примере Тесты, управляемые данными

1 Ответ

0 голосов
/ 08 ноября 2018

Всего 2 балла. Каратэ - это чистый JavaScript по умолчанию. Так что если у вас есть переменная name в области видимости, это будет работать!

* print name

И, пожалуйста, внимательно прочитайте правила для встроенных выражений. Система #(foo) предназначена для работы только с шаблонами в JSON и XML.

https://github.com/intuit/karate#rules-for-embedded-expressions

...