如何在boost单元测试中访问环境变量?

时间:2016-02-02 15:21:28

标签: unit-testing boost environment-variables

如何从boost单元测试中的测试用例中访问环境变量?

我试图在测试用例中使用getenv但是我没能得到我导出的变量的值!!

实际上我使用linux并从shell脚本运行单元测试:

setInterval

2 个答案:

答案 0 :(得分:0)

您显然没有在单元测试运行器的父进程中导出它。

E.g。在像Vim这样的编辑器中工作是不行的,并说

 :!export q=q
 :!./test

因为导出位于子shell中,但测试在单独的进程中运行,该进程不是导出q的子shell的子进程。

相反,工作的是

!export q=q; ./test

当然,如果您不使用vim,您将拥有不同的命令,但适用相同的原则:环境是继承的。一种常用的方法是在启动IDE之前在环境中设置变量(因此,无论您使用的是Visual Studio还是Vim,都无关紧要。)

当您更改环境时(例如在Windows上),请务必重新启动该IDE,以便它可以获取修改后的环境。

答案 1 :(得分:0)

我发现在升级测试用例中读取环境变量没有问题。

我设置环境变量然后使用sudo运行测试用例是我的错:'(

因此新环境没有导出的变量。