我无法从我的单元测试中检测到环境变量

I cannot detect an environment variable from my unit test

我的网络应用依赖于一个环境变量。 我写了一个单元测试来确保环境变量不为空。测试在我的本地机器上通过了,当然,因为我把环境变量放在了我的系统变量中。我必须重新启动 Visual Studio 才能识别环境变量。但是在云中使用 CI 构建时测试失败。 TFS Build 计划将其部署到暂存环境,环境变量存在于暂存环境和生产环境中。如果成功,它会将其部署到暂存环境,然后自动切换到生产环境。但它并没有走得太远,因为单元测试失败了。单元测试运行 是否在与实际托管网站不同的环境中?如果是这样,我必须改变我的单元测试策略以不测试环境变量。我可能会制作一个申请状态页面来检查这些事情。但是我想知道有没有人知道这是怎么回事。

您个人计算机中的自定义环境变量也必须在构建控制器上。 TFS 在控制器(内部代理)上构建 运行 和单元测试 运行 post 构建二进制文件(打包前构建的组成部分)

检查是否可以在构建控制器中添加环境变量。您可能需要联系构建团队并在构建服务器中添加该环境变量。

您还可以选择"Pass the build if the unit test fails"

您还可以对单元测试进行分类并设置优先级,运行只对某些优先级的单元测试进行测试;就像单独的优先级 1。您可以消除未能成为您想要 运行.

的单元测试优先级的一部分的情况

希望对您有所帮助!!