用于Azure Devops发布管道上的Nunit测试解决方案的AppSetting

问题描述 投票:0回答:1

我正在为我们更复杂的后端系统之一编写系统集成测试项目。为了符合公司协议,该测试解决方案使用.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)时,如何在运行时设置测试解决方案的应用程序设置并运行测试?我正在仔细研究这些术语,因此有很多文章仅谈论vstest运行任务以运行测试,但实际上并不允许每次运行时更新任何appsettings.json。我该如何处理?在某些环境中,我不知道dbconnectionstring是什么,这些值是由管道上的ops控制的,因此我试图找到一种方法,使测试解决方案能够以无意识的方式使用它。

.net-core azure-devops nunit azure-pipelines-release-pipeline appsettings
1个回答
0
投票

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

如果是这样,您可以尝试安装Replace Tokens扩展名,然后使用“替换令牌”任务加载和更改appsettings.json文件中定义的设置。

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

以下博客供您参考:

© www.soinside.com 2019 - 2024. All rights reserved.