.net core Azure Devops发布管道上Nunit测试解决方案的应用设置

.net core Azure Devops发布管道上Nunit测试解决方案的应用设置,.net-core,azure-devops,nunit,azure-pipelines-release-pipeline,appsettings,.net Core,Azure Devops,Nunit,Azure Pipelines Release Pipeline,Appsettings,我正在为一个更复杂的后端系统编写一个系统集成测试项目。为了符合公司的要求,测试解决方案使用.net core 2.1和nunit 3以及c#。它有一个testconfiguration.cs文件,该文件使用iconfiguration类从appsettings.json获取测试配置值。appsettings.json具有serviceconnectionstring等配置。 该公司使用azure devops作为CI/CD工具。我设置了一个构建管道来构建解决方案,并将要在发布管道上使用的工件发布

我正在为一个更复杂的后端系统编写一个系统集成测试项目。为了符合公司的要求,测试解决方案使用.net core 2.1和nunit 3以及c#。它有一个testconfiguration.cs文件,该文件使用iconfiguration类从appsettings.json获取测试配置值。appsettings.json具有serviceconnectionstring等配置。

该公司使用azure devops作为CI/CD工具。我设置了一个构建管道来构建解决方案,并将要在发布管道上使用的工件发布。此发布管线有2个阶段(即:2个不同的环境)。appsetting值来自管道变量。在使用azure应用程序服务部署任务之前,我只部署过实际的服务api应用程序,我可以在发布管道任务中设置应用程序设置配置。但是,对于像nunit这样的独立测试解决方案,我真的不需要“部署”,如何在运行时为测试解决方案设置appsettings并运行测试?我在谷歌上搜索了这些术语,所以很多文章只讨论了运行测试的vstest运行任务,但它实际上不允许每个运行时更新任何appsettings.json。我该怎么处理?在某些环境中,我不知道dbconnectionstring是什么,这些值由管道上的ops控制,所以我试图找到一种方法,测试解决方案可以不可知地使用它

根据您的描述,您似乎希望在运行集成测试之前覆盖在
appsettings.json
中定义的设置

如果是这样,您可以尝试安装扩展,然后使用replacetokens任务加载并更改
appsettings.json
文件中定义的设置

您还可以转换设置或使用创建新的
appsettings.json
文件以覆盖现有文件

以下博客供您参考:


@KaGo您尝试过这些建议了吗?这有用吗?