我正在为 .NET 核心(net46 框架)创建 xunit 测试,但在获取应用程序的根路径时遇到问题,因此我可以找到 appsettings.json 等内容。
有人可以解释我如何实现以下目标之一:
这可能是一个非常简单的问题,我似乎无法找到一个好的解决方案。
最佳答案
据我记得在 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/