自定义配置文件
对于项目中的一些值和字段,如果可能在多个地方使用、并且在部署或维护中有可能发生变化,那么可以将其维护在一个json
配置文件中。由于CukeTest使用的JavaScript内核(Node.js)本身提供了非常方便JSON文件读取支持——require()
方法可以直接读取并解析json
文件中的内容并返回对象。
使用require()
方法加载json
文件
假设脚本文件load.js
和配置文件config.json
位于同一个项目中,那么load.js
文件可以通过如下写法直接读取config.json
文件中的值:
假设
config.json
文件中的内容为:{"app": "notepad.exe", "tech": "win"}
JavaScript
const config = require('./config.json');
console.log(`应用为${config.app},技术为${config.tech}`)
/* 运行结果为:
* 应用为notepad.exe,技术为win
*/
如果要更精细的控制,也可以写作:
JavaScript
const {app, tech} = require('./config.json');
console.log(`应用为${app},技术为${tech}`)
在项目中使用
在上一节中介绍的情况适合在脚本文件和配置文件在文件系统中比较近的情况,但在实际项目中,步骤定义文件可以在features
文件夹下的任意地方,这个时候可以将配置文件config.json
放在项目根目录。假设项目结构如下:
+---features
| | feature1.feature
| +---step_definitions
| | definitions1.js
| | model1.tmodel
| \---support
|---config.json
那么如果在definitions1.js
文件中加载config.json
文件可以写作:
JavaScript
// ...
const config = require(process.cwd()+"/config.json")
// ...
在这个脚本运行时,process.cwd()
的值为当前的项目所在的路径,也就是项目根目录的路径,所以process.cwd()+"/config.json"
就指向根目录中的配置文件。