XUnit .Net Core如何在测试项目中获取本地设置

问题描述 投票:0回答:1

我有一个用于Api项目的End2End测试的XUnit项目。

在Unit项目内部:MyApi.E2E.Test

在其根文件夹下,我有一个设置文件:

e2e-local-settings.json

现在我有一个名为:MyWebApplicationFactory的文件

public class MyWebApplicationFactory<TStartUp>: WebApplicationFactory<Startup>
{
    protected override void ConfigureWebHost(IWebHostBuilder builder)
    {
       ........code here.......
    }
}

exception如何在测试项目下加载设置json文件。

我已经读过这篇文章:https://stackoverflow.com/a/47591692/601862但是它不会从Test Project中加载,而是从Api项目中加载。

c# asp.net-core .net-core xunit
1个回答
0
投票

之所以找不到它,是因为预期配置文件位于应用程序的运行目录中。在您的.csproj文件中,您需要添加<Content>标记,以便将其复制到输出目录。

<ItemGroup>
  <Content Include="e2e-local-settings.json" CopyToOutputDirectory="PreserveNewest" Link="e2e-local-settings.json" />
</ItemGroup>

请确保在添加后,在调试器中查看已加载的模块窗口,并查看从中加载测试.dll的路径。查看该目录,并确保该文件存在于该目录中,如果该文件不存在,它将以您看到它的方式失败。

© www.soinside.com 2019 - 2024. All rights reserved.