我有几个 C# 测试项目,它们使用数据库来执行测试。我想创建一个运行设置文件,以便在使用 Azure DevOps 时在测试执行时覆盖此数据库的连接字符串。
我还没有成功正确写入runsettings文件。
您对如何做到这一点有任何提示或建议吗?
最佳答案
您可以转换您的配置文件。例如,如果您有一个 app.config 文件存储用于执行测试的连接字符串,您可以用有效的数据库替换此连接字符串并运行测试。
有一个名为配置转换
的构建步骤,您可以将其添加到Azure DevOps管道上。实际上,当我将应用程序发布到不同的环境时,我使用此构建步骤(因此我们用适当的值替换设置和连接字符串)。您可以在构建管道上使用它。
假设您有 app.config
文件,因此,您可以创建一个包含变量的文件(例如 app.tests.config
),并定义它在配置转换
步骤中,例如:
它是基于配置文件的转换。看看这个就像知道如何配置它:
我不确定您的场景,但如果您使用单元测试,执行它的最佳方法是使用 Mocks/Stubs(模拟数据库)而不是访问数据库。
关于c# - 关于连接字符串覆盖的运行设置文件的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55813638/