Ошибка "Ожидается только один документ в этом файле, но найдено несколько" в таверне - PullRequest
1 голос
/ 02 апреля 2020

Я использую файл common.yaml для этапов совместного использования, но если я добавляю более одного этапа, отображается ошибка "tavern.util.exceptions.UnexpectedDocumentsError:". Нужно ли добавлять отдельный файл yams для каждого этапа?

Мой файл common.yaml

name: Test /order endpoint status code and response
description:
  Reusable test stage to get listings

stages:
  - id: get_listings
    name: Test to get all the listings 
    request:
       url: 
      method: POST
      headers:
        Authorization: 
 ---
name: Test /status endpoint to create order
description:
  Reusable test stage for order creation

stages:
  - id: create_order
    name: Test to create an order
    skip: False
    request:
      url: 
      method: POST
      headers:
        Authorization: 

Testfile.yaml

test_name: Test endpoint

includes:
 - !include common.yaml

stages:

  - type: ref

    id: get_listings

  - type: ref1

    id: create_order

1 Ответ

1 голос
/ 02 апреля 2020

!include не может обработать файл с несколькими документами, поскольку он в основном заменяет текущий узел содержимым из указанного документа, начиная с его узла root. Поскольку файл с несколькими документами имеет несколько root узлов, неясно, что !include должен там делать.

При этом вы, конечно, можете просто определить оба этапа в одном документе:

# [snip]

stages:
  - id: get_listings
    name: Test to get all the listings 
    request:
       url: 
      method: POST
      headers:
        Authorization:
  - id: create_order
    name: Test to create an order
    skip: False
    request:
      url: 
      method: POST
      headers:
        Authorization: 
...