Как исправить эту ошибку формата YAML?

Я работал над определением нового документа YAML, но при попытке обработать файл я получаю следующую ошибку от yamllint:

>syntax error on line 3, col 10: ` suites: '

и следующая ошибка в PyCharm при запуске тестов:

ScannerError: значения сопоставления здесь не разрешены<string>", строка 2, столбец 11: имя: testFirstNameLower

для следующего кода:

DataMart\Users: 
  name: testFirstNameLower
   suites:
     - suite: dataMart
     - suite: userDim
   dataset: 
     source:  etlUnitTest 
       table:  users

Похоже, что он отформатирован правильно, но я не знаю, что я делаю не так...

1 ответ

Решение

Если твой DataMart\Users должен содержать последовательность пользователей, причем каждый пользователь имеет name, Последовательность из suitesи datasetВы просто делаете слишком много отступов и не обрабатываете каждого пользователя как серию. ( Этот онлайн-парсер обычно используется при работе с yaml.)

Попробуйте это вместо этого:

DataMart\Users: 
  - name: testFirstNameLower
    suites:
      - suite: dataMart
      - suite: userDim
    dataset:
      source: etlUnitTest 
      table: users

... что соответствует следующему JSON:

{
  "DataMart\\Users": [
    {
      "name": "testFirstNameLower", 
      "suites": [
        {
          "suite": "dataMart"
        }, 
        {
          "suite": "userDim"
        }
      ], 
      "dataset": {
        "source": "etlUnitTest", 
        "table": "users"
      }
    }
  ]
}

Вот немного yaml со вторым примером, добавленным пользователем:

DataMart\Users: 
  - name: testFirstNameLower
    suites:
      - suite: dataMart
      - suite: userDim
    dataset:
      source: etlUnitTest 
      table: users

  - name: secondname
    suites:
      - suite: secondDataMart
      - suite: secondUserDim
    dataset:
      source: secondEtlUnitTest 
      table: secondUsers
Другие вопросы по тегам