Yaml ScannerError:此处不允许映射值

Yaml ScannerError:此处不允许映射值,yaml,pyyaml,tavern,Yaml,Pyyaml,Tavern,使用Tavern并尝试对此yaml运行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

使用Tavern并尝试对此yaml运行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/test_poc.tavern.yaml”第3行第9栏中

我已经尝试了这里介绍的许多解决方案(其中大多数是“在冒号后加空格”),但没有任何乐趣


Yamlint给出了相同的错误…

在YAML文档的根中,您有一个键为
test_name
的映射,值为普通标量
酒馆的开始…

解析器希望第二行有一个与第一行缩进相同的键,或者是第一行的纯标量的延续。第二行是空的,因此第三行的期望值相同。它在那里找到一个
-
,它比
test\u name
的开头缩进得更深,因此它不是键,而是普通标量的一部分。然后它会发现
name
也是从第一行开始的纯标量的一部分,然后是
(冒号+空格)

但在纯标量中不允许使用冒号+空格,因为这可能会使另一个键值对的开头产生歧义

不太可能的解决方案是在
tavern
之前和YAML文档末尾加上双引号

更可能的情况是,您应该包含一个键,该键的结构以
-name:list
开头,这是该键的值。例如:

test_name: tavern poc

stages:
  - name: list
    request:

(从谷歌搜索“tavern yaml”的第二个条目开始)

谢谢,@Anthon!仍然习惯于yaml的细节。