【发布时间】:2020-04-15 04:46:59
【问题描述】:
我正在为我们的一个更复杂的后端系统编写一个系统集成测试项目。为了符合公司堆栈,测试解决方案使用 .net core 2.1 和带有 c# 的 nunit 3。它有一个 testconfiguration.cs 文件,它使用 iconfiguration 类从 appsettings.json 获取测试配置值。 appsettings.json 具有 serviceconnectionstring 等配置。
该公司使用 azure devops 作为 CI/CD 工具。我设置了一个构建管道来构建解决方案并发布要在发布管道上使用的工件。此发布管道有 2 个阶段(即:2 个差异环境)。 appsetting 值来自管道变量。在使用天蓝色应用程序服务部署任务之前,我只部署了一个实际的服务 api 应用程序,我可以在发布管道任务上设置应用程序设置配置。但是,当涉及到像 nunit 这样我真的不需要“部署”的独立测试解决方案时,我如何在运行时为测试解决方案设置 appsettings 并运行测试?我在谷歌上搜索这些术语,所以很多文章只讨论运行测试的 vstest 运行任务,但它实际上不允许在每个运行时更新任何 appsettings.json。我该如何处理?在某些环境下,我不知道 dbconnectionstring 是什么,这些值由管道上的操作控制,所以我试图找到一种方法,让测试解决方案可以不可知地使用它。
【问题讨论】:
标签: .net-core azure-devops nunit azure-pipelines-release-pipeline appsettings