gpt4 book ai didi

.net-core - 在 .NET 核心的 xunit 上下文中获取 ContentRootPath 或 IHostingEnvironment

转载 作者:行者123 更新时间:2023-12-04 18:31:22 32 4
gpt4 key购买 nike

我正在为 .NET 核心(net46 框架)创建 xunit 测试,但在获取应用程序的根路径时遇到问题,因此我可以找到 appsettings.json 等内容。

有人可以解释我如何实现以下目标之一:

  • 获取 IHostingEnvironment
  • 的实例
  • 检索包含 xunit 测试的 .NET 项目的绝对路径,这样我就可以自己实现 IHostingEnvironment。

  • 这可能是一个非常简单的问题,我似乎无法找到一个好的解决方案。

    最佳答案

    据我记得在 XUnit 测试中注入(inject) IHostingEnvironment 是不可能的。

    这并不理想,但您可以执行以下操作(例如:SetBasePath):

    var configuration = new ConfigurationBuilder()
    .SetBasePath(Directory.GetCurrentDirectory())
    .AddJsonFile("remoteDeploymentConfig.json")
    .AddUserSecrets()
    .AddEnvironmentVariables()
    .Build();

    此解决方案有效,因为如果您要执行 dotnet test您需要从项目目录本身作为 test 执行此操作这里对应那个项目的xunit包。

    关于.net-core - 在 .NET 核心的 xunit 上下文中获取 ContentRootPath 或 IHostingEnvironment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38913925/

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