在Azure DevOps管道中为Visual Studio测试任务设置应用程序设置

时间:2020-04-03 09:54:56

标签: azure azure-devops

我有一个.Net Framework 4.6.2 Unit.Tests项目,该项目具有App.config文件,在该文件中的<appSettings>元素中有一些密码。我想在Azure DevOps构建管道中更新它们。

我正在使用Visual Studio测试任务来运行单元测试。我尝试在执行选项>替代测试运行参数中更新appSettings,但是没有按预期运行。

enter image description here
我知道Azure App Service部署任务可以在应用程序和配置设置>应用程序设置中更新appSettings。我想要Visual Studio测试任务中的类似内容。 enter image description here
有什么主意吗?

1 个答案:

答案 0 :(得分:3)

“替代测试运行参数”部分仅适用于runsettingstestsettings文件。它不适用于app.config文件。

覆盖在runsettings文件的TestRunParameters部分或testsettings文件的Properties部分中定义的参数。例如:-key1 value1 -key2 value2。注意:可以使用Visual Studio 2017 Update 4或更高版本通过TestContext访问testsettings文件中指定的属性

如果要在app.config中进行配置。尝试使用“ replace tokens”任务(有多个选项)。

我们的测试通常利用runsettings文件。文件语法与app.config非常相似,您可以通过TestContext访问值。

https://docs.microsoft.com/en-us/visualstudio/test/configure-unit-tests-by-using-a-dot-runsettings-file?view=vs-2019

  <!-- Parameters used by tests at run time -->
  <TestRunParameters>
    <Parameter name="webAppUrl" value="http://localhost" />
    <Parameter name="webAppUserName" value="Admin" />
    <Parameter name="webAppPassword" value="Password" />
  </TestRunParameters>
[TestMethod]
public void HomePageTest()
{
    string appURL = TestContext.Properties["webAppUrl"];
}