前言 - 认识配置文件

  • 作者:KK

  • 发表日期:2015.12.13


配置文件是一种后缀名为yml的文件,内容是纯文本。但它有一定的编排格式规范,详细请搜索关键词YAML,官网http://www.yaml.org

我们可以在测试项目目录下看到一个codeception.yml,这是整个测试项目的全局配置

简要说明

虽然它的格式很明显,一下子看出怎么编写,只是有时候多个少个空格你都会导致语法错误。根据自己一段时间的探索后很快找到了一些规律。我的IDE支持yml文件语法高亮(NetBeans),所以一旦我写错格式时它就会显示红色报错,大概就是这样摸索到语法的。

它是一种层级缩进语法(这是我自己的叫法哦),比如codeception.yml中,大家可以看到最外层的paths下面有几个配置项是缩进了的,比如log,说明log是属于paths的子配置选项。

以后的教程中我会不时跟大家提到一些配置让大家跟着去配,一般我都会这样说“请将paths - log的配置项修改成xxx",就这么说好了哦,别忘啦。

包括它下面还有modules,里面有config,再里面又有。..很明显大家在这里看到了数据库配置,那modules - config - Db - password这个配置项是啥,又在yml配置的哪里,我相信以你的高强悟性一定能看懂!


内容编辑

这只是一个格式,但是格式里面写什么值没有规定你,你根据自己的应用需求去写不同的配置名称就好,比如你以后扩展了Codeception是吧,可以自己加个xxxpath的配置名称都可以

配置名称与值之间用冒号分隔(:),并且冒号是紧跟配置名称后面,比如password:这样是正确的,但password :这样是错误的,而配置的值又要在冒号后面空一个空格才可以开始写

要注释掉备注内容则是在行首加#号,于是批量注释时就麻烦了,每一行都要加,有必要的话可以自行上官网找找有没有批量注释的方式


Codeception的配置

我自己也并不是完全了解所有配置,暂时也不打算详细讲解这些配置,而且实际上大家基本上不用对配置文件做什么修改就能开始学习整个测试,未来我也是叫大家来来去去修改那么两三个配置选项而已,这里大家只要看看了解即可。

Codeception框架运作需要4个配置文件:

  • codeception.yml : 全局配置文件,控制全局的东西,比如日志存放位置,扩展模块的位置,最大内存和数据库配置什么的

  • tests/unit.suite.yml : 单元测试的相关配置,如果你永远不运行单元测试的话可以删除它,新手最好别乱动咯

  • tets/acceptance.suite.yml : 验收测试的相关配置

  • tets/functional.suite.yml : 功能测试的相关配置

就这样,打开看看即可,别乱改它先!


dist配置支持

以全局配置文件为例,如果你想在本地开发时使用自己特殊的路径和数据库信息配置,但是又不想影响其他开发成员,以及在测试机上不使用你自己的配置来运行,那就使用这个特性,有经验的成员一看就懂,其实你只要知道“codeception.dist.yml这个配置文件如果存在的话,会与codeception.yml进行合并,并且两者存在相同配置时会优先使用codeception.yml的“(依然有读者提问codeception.dist.yml是不是要自己创建的,我这里明确声明是的!你不创建的话测试程序会无视它,创建了就会合并它)

dist配置文件可以不存在,一旦存在就会被合并

比如codeception.dist.yml的内容是↓↓↓

config1: aaa
config2: bbb

然后codeception.yml的配置内容是↓↓↓

config2: xxx2

则测试框架启动时会将它们合并成

config1: aaa
config2: xxx

你只要别提交codeception.yml到代码仓库上就行了