我有一个使用 Boost Build 运行的数据库集成测试。测试需要一些命令行参数(数据库用户名、密码)。以用户可配置的方式(通过环境变量、bjam 命令行、user-config.jam)通过 Boost Build 设置它的最佳方法是什么?
我知道我可以用变量来做到这一点:
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 中,所以不是直接在根文件中。