ScannerError: значения сопоставления здесь не разрешены - PullRequest
0 голосов
/ 26 марта 2019

Использование Tavern и попытка запустить tavern-ci против этого ямля:

test_name: tavern poc

  - name: list
    request:
      url: https://xxx.xxx.xxx.us/api/v3/institutions/
      method: GET
    response:
      status_code: 200
      headers:
        content-type: application/json
      save:
        body:
          content: content

получаю E ScannerError: здесь не разрешены значения отображения E в "/Users/xxx/xxx/xxx/test_poc.tavern.yaml", строка 3, столбец 9

Испытали многие из представленных здесь решений (большинство из которых «ставить пробел после двоеточия») без радости.

Yamllint выдает ту же ошибку ...

1 Ответ

1 голос
/ 26 марта 2019

В корне вашего документа YAML у вас есть отображение с ключом test_name и в качестве значения начало простого скаляра tavern .....

Парсер ожидает ключ с тем же отступом, что и в первой строке, во второй строке или продолжение вашего простого скаляра от первой строки.Вторая строка пуста, поэтому она продолжается с теми же ожиданиями на третьей строке.Там он находит -, который имеет больший отступ, чем начало test_name, так что это не ключ, а часть простого скаляра.Затем он находит name также часть простого скаляра, начатого в первой строке, а затем : (двоеточие + пробел).

Но это двоеточие + пробел не допускается в простом скаляре, поскольку это даетпотенциальная неоднозначность с началом другой пары ключ-значение.

Маловероятным решением является то, что вы ставите двойные кавычки перед tavern и в конце документа YAML.

Скорее всего, вы должны включить ключ, для которого структура начинается с - name: listэто ценность.Например:

test_name: tavern poc

stages:
  - name: list
    request:

(начиная со второй записи, которую вы получаете из поискового запроса "таверна Ямл")

...