Yaml ScannerError:此处不允许映射值
使用Tavern并尝试对此yaml运行Tavern ci: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
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的细节。