首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ScannerError:此处不允许映射值

ScannerError:此处不允许映射值
EN

Stack Overflow用户
提问于 2019-03-26 06:08:57
回答 1查看 7.3K关注 0票数 1

使用Tavern并尝试对此yaml运行tavern ci:

代码语言:javascript
复制
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:这里不允许使用映射值“/Users/xxx/test_ScannerError.tavern.yaml”,第3行,第9列

我尝试了这里提出的许多解决方案(其中大多数都是“在冒号后面加一个空格”),但毫无乐趣。

Yamllint给出了同样的错误...

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-26 06:22:10

在您的YAML文档的根目录中,有一个带有键test_name和一个普通标量tavern ....开头的值的映射。

解析器期望在第二行中有一个与第一行缩进相同的键,或者是第一行中普通标量的延续。第二行是空的,所以它在第三行继续使用相同的期望。在那里它找到了一个比test_name开头缩进得更多的-,所以它不是一个键,而是普通标量的一部分。然后,它发现name也是a的一部分,从第一行开始的普通标量,然后是: (冒号+空格)。

但是该colon+space在普通标量中是不允许的,因为这给另一个键值对的开头带来了潜在的歧义。

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

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

代码语言:javascript
复制
test_name: tavern poc

stages:
  - name: list
    request:

(从第二个条目开始,你可以在谷歌上搜索“酒馆yaml")

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55347130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档