如何从boost单元测试中的测试用例中访问环境变量?
我试图在测试用例中使用getenv但是我没能得到我导出的变量的值!!
实际上我使用linux并从shell脚本运行单元测试:
setInterval
答案 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运行测试用例是我的错:'(
因此新环境没有导出的变量。