gpt4 book ai didi

c# - 如何在命令行上将运行时参数传递给 dotnet test?

转载 作者:行者123 更新时间:2023-11-28 20:10:24 24 4
gpt4 key购买 nike

我在 .NET Core 项目中有一组单元测试并使用 runsettings 文件。我正在尝试设置 Azure DevOps 以对我的部署进行自动化测试。作为此过程的一部分,我需要覆盖命令行运行设置中的参数。

我有一个包含以下部分的 runsettings 文件:

  <TestRunParameters>
<Parameter name="ApiUrl" value="https://myurl..." />
</TestRunParameters>

我有一个像这样保存 TestContext 的静态构造函数:

        [ClassInitialize]
public static void TestClassInitialize(TestContext context)
{
TestContext = context;
}

我正在使用以下方法从 TestContext 中检索设置:

        protected string GetStringSetting(string settingName)
{
return TestContext.Properties[settingName] as string;
}

当我在选择了 runsettings 文件的情况下运行测试时,它获得了 TestContext 并且我看到 ApiUrl 条目已成功检索。

现在,我想从命令行设置这个参数。我正在使用如下命令:

    dotnet test <myproject.csproj> --configuration Release -- ApiUrl=https://newurl

我收到一条错误消息,指出字典不包含键“ApiUrl”,这表明设置未被处理。通过阅读文档,我认为也许我需要使用 TestRunParameters.ApiUrl 完全指定设置的名称。这给了我一个 XML 错误。

从我读到的所有内容来看,我认为我做的是对的,无法弄清楚哪里出了问题。我使用的是 2.1.503 版本的工具。

有人可以指导我如何进行这项工作吗?

最佳答案

您可以使用以下参数语法来做到这一点:

dotnet test <myproject.csproj> --configuration Release -- TestRunParameters.Parameter(name=\"ApiUrl\", value=\"https://newurl\")

来源:https://github.com/Microsoft/vstest-docs/blob/master/docs/RunSettingsArguments.md

关于c# - 如何在命令行上将运行时参数传递给 dotnet test?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55551216/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com