【发布时间】:2015-08-30 17:07:19
【问题描述】:
我有一个使用 Boost Build 运行的数据库集成测试。测试需要一些命令行参数(数据库用户名、密码)。通过 Boost Build 以用户可配置的方式(通过环境变量、bjam 命令行、user-config.jam)进行设置的最佳方式是什么?
我知道我可以用变量做到这一点:
import os ;
local DB_PASS = [ os.environ DB_PASS ] ;
run dbtest : test.cpp : --dbpass $(DB_PASS) ;
这可以通过命令行 (bjam -s DB_PASS=pass) 或通过环境变量进行设置。
另一方面,Boost Build 倾向于通过特性机制完成大部分配置。我或许可以定义一个新功能,然后将配置数据放到正确的位置。
每种方法的优缺点是什么?我应该拿哪一个?如果功能:我将如何做到这一点?
注意:实际测试在 Jamroot 使用的 Jamfile 中,因此不直接在根文件中。
【问题讨论】: