【问题标题】:AppSetting For a Nunit Test solution on Azure Devops Release PipelinesAzure Devops Release Pipelines 上 Nunit 测试解决方案的 AppSetting
【发布时间】: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


    【解决方案1】:

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

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

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

    以下博客供您参考:

    【讨论】:

    • @KaGo 你试过这些建议了吗?有帮助吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-28
    • 1970-01-01
    • 2021-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多