我的网络应用取决于环境变量。 我编写了一个单元测试来确保环境变量不为null。测试在我的本地机器上传递,因为当然,我将环境变量放在我的系统变量中。我必须重新启动Visual Studio才能识别环境变量。但是,当使用云中的CI构建测试时,测试失败。 TFS Build计划将其部署到临时环境,并且环境变量存在于登台环境以及生产环境中。如果成功,它会将其部署到暂存环境,然后与生产进行自动交换。但它并没有走得太远,因为单元测试失败了。单元测试是否在与实际托管网站不同的环境中运行?如果是这样,我必须更改单元测试策略以不测试环境变量。我可以创建一个应用程序状态页面来检查这些事情。但我想知道是否有人知道这是怎么回事。
答案 0 :(得分:1)
您个人计算机中的自定义环境变量也必须位于构建控制器上。 TFS构建在控制器(内部代理)上运行,单元测试运行二进制构建后(构建前的构建部分)
检查是否可以在Build控制器中添加环境变量。您可能需要访问Build团队并在Build server中添加该环境变量。
如果单元测试失败,您还可以选择"传递构建"
您还可以对单元测试进行分类并设置优先级,并仅运行某些优先级的单元测试;像优先级1一样。您可以消除未能成为要运行的单元测试优先级一部分的情况。
希望这会有所帮助!!