python笔记49-yaml文件中变量的使用(锚点& 与 引用*)
前言
在yaml文件中如何引用变量?当我们在一个yaml文件中写很多测试数据时候,比如一些配置信息像用户名,邮箱,数据库配置等很多地方都会重复用到。
重复的数据,如果不设置变量,后续维护起来就很困难。
yaml文件里面也可以设置变量(锚点&),其它地方重复用到的话,可以用*引用
锚点&和引用*
对于重复的数据,可以单独写到yaml文件的开头位置,其它的地方用到的可以用*引用
# 作者-上海悠悠 QQ交流群:717225969
# blog地址 https://www.cnblogs.com/yoyoketang/
userinfo: &userinfo
user: yoyo
email: 283340479@qq.com
test1:
name: testcase 1
data:
<<: *userinfo
tel: 12345678901
test2:
name: testcase 2
data:
<<: *userinfo
tel: 15201234023
等同于下面的数据
userinfo:
user: yoyo
email: 283340479@qq.com
test1:
name: testcase 1
data:
user: yoyo
email: 283340479@qq.com
tel: 12345678901
test2:
name: testcase 2
data:
user: yoyo
email: 283340479@qq.com
tel: 15201234023
&用来建立锚点(userinfo),<<表示合并到当前数据,*用来引用锚点。
*引用value值
上面的例子是对userinfo整体的数据,引用到其它地方了,有时候我们只想引用其中的一个值,如email的值,如何实现呢?
# 作者-上海悠悠 QQ交流群:717225969
# blog地址 https://www.cnblogs.com/yoyoketang/
userinfo: &userinfo
user: yoyo
email: &email 283340479@qq.com
test3:
name: testcase 3
data:
user: admin
email: *email
tel: 12345678901
test4:
name: testcase 5
data:
user: test123
email: *email
tel: 12345678902
等同于下面的数据
userinfo:
user: yoyo
email: 283340479@qq.com
test3:
name: testcase 3
data:
user: admin
email: 283340479@qq.com
tel: 12345678901
test4:
name: testcase 5
data:
user: test123
email: 283340479@qq.com
tel: 12345678902
这样就可以把重复的数据,单独写到一个配置,其它地方*引用就可以了