c# - 关于连接字符串覆盖的运行设置文件的建议

标签 c# visual-studio azure-devops devops runsettings

我有几个 C# 测试项目,它们使用数据库来执行测试。我想创建一个运行设置文件,以便在使用 Azure DevOps 时在测试执行时覆盖此数据库的连接字符串。

我还没有成功正确写入runsettings文件。

您对如何做到这一点有任何提示或建议吗?

最佳答案

您可以转换您的配置文件。例如,如果您有一个 app.config 文件存储用于执行测试的连接字符串,您可以用有效的数据库替换此连接字符串并运行测试。

有一个名为配置转换的构建步骤,您可以将其添加到Azure DevOps管道上。实际上,当我将应用程序发布到不同的环境时,我使用此构建步骤(因此我们用适当的值替换设置和连接字符串)。您可以在构建管道上使用它。

假设您有 app.config 文件,因此,您可以创建一个包含变量的文件(例如 app.tests.config),并定义它在配置转换步骤中,例如:

enter image description here

它是基于配置文件的转换。看看这个就像知道如何配置它:

https://learn.microsoft.com/pt-br/aspnet/web-forms/overview/deployment/visual-studio-web-deployment/web-config-transformations

我不确定您的场景,但如果您使用单元测试,执行它的最佳方法是使用 Mocks/Stubs(模拟数据库)而不是访问数据库。

关于c# - 关于连接字符串覆盖的运行设置文件的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55813638/

相关文章:

c# - 通过 C++ 桥从 .NET 调用 Python

c++ - 如何在 Visual Studio 上启用 __int128?

azure - 适用于 Jenkins 的 Azure DevOps 和 Team Foundation Server 插件中的发布定义

angular - 使用 Azure DevOps 的 Angular 7 中的 JavaScript 堆内存不足

Azure DevOps 发布管道变量值未更新

c# - 如何在 WCF 中识别经过身份验证的用户?

c# - 从Azure Mobile Windows Phone 8.1上传文件

对 key 对进行排序并可访问的 C# 结构?

visual-studio - 在一种配置中同时编译 x86 和 x64?

c++ - 什么是虚拟适配器