1. testng中的yaml
TestNG支持YAML作为指定suite文件的替代方法。例如,以下XML文件:
<suite name="SingleSuite" verbose="2" thread-count="4"> <parameter name="n" value="42" /> <test name="Regression2"> <groups> <run> <exclude name="broken" /> </run> </groups> <classes> <class name="test.listeners.ResultEndMillisTest" /> </classes> </test> </suite>
YAML版本:
name: SingleSuite threadCount: 4 parameters: { n: 42 } tests: - name: Regression2 parameters: { count: 10 } excludedGroups: [ broken ] classes: - test.listeners.ResultEndMillisTest
YAML文件格式更易于阅读和维护。TestNG Eclipse插件也可以识别YAML文件。
注:默认情况下,TestNG不会将YAML相关库引入类路径中。因此,根据自己的构建系统(Gradle / Maven),需要在构建文件中添加对YAML库的显式引用。
例如,如果使用的是Maven,则需要在pom.xml文件中添加如下所示的依赖项:
<dependency> <groupid>org.yaml</groupid> <artifactid>snakeyaml</artifactid> <version>1.23</version> </dependency>
如果使用的是Gradle,则可以在build.gradle文件中添加如下所示的依赖项:
compile group: 'org.yaml', name: 'snakeyaml', version: '1.23'
2. yaml格式简介:
使用背景:与其他常见数据格式(例如XML或JSON)相比,更容易读写。大多数编程语言中都提供了可用于YAML的库。
几乎每个YAML文件都以列表开头。列表中的每个项目都是键/值对的列表,通常称为“哈希”或“字典”。所有YAML文件都可以选择以---开头,并以....结尾。这是YAML格式的一部分,指示文档的开始和结束。
列表的所有成员都是以“-”(破折号和空格)开头的相同缩进级别的行:
--- # A list of tasty fruits - Apple - Orange - Strawberry - Mango ...
字典用一个简单的键:值形式表示(冒号后面必须有一个空格):
# An employee record martin: name: Martin D'vloper job: Developer skill: Elite
复杂的数据结构,例如字典列表,值是列表的字典或两者的混合:
# Employee records - martin: name: Martin D'vloper job: Developer skills: - python - perl - pascal - tabitha: name: Tabitha Bitumen job: Developer skills: - lisp - fortran - erlang
假期过的很快,新的一年工作日即将来临,欢迎关注交流~