我有一个.Net Framework 4.6.2 Unit.Tests项目,该项目具有App.config
文件,在该文件中的<appSettings>
元素中有一些密码。我想在Azure DevOps构建管道中更新它们。
我正在使用Visual Studio测试任务来运行单元测试。我尝试在执行选项>替代测试运行参数中更新appSettings
,但是没有按预期运行。
我知道Azure App Service部署任务可以在应用程序和配置设置>应用程序设置中更新appSettings
。我想要Visual Studio测试任务中的类似内容。
有什么主意吗?
答案 0 :(得分:3)
“替代测试运行参数”部分仅适用于runsettings
或testsettings
文件。它不适用于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
访问值。
<!-- 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"];
}