Как исправить эту ошибку формата 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