我有一个用于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.......
}
}
我已经读过这篇文章:https://stackoverflow.com/a/47591692/601862但是它不会从Test Project中加载,而是从Api项目中加载。
之所以找不到它,是因为预期配置文件位于应用程序的运行目录中。在您的.csproj文件中,您需要添加<Content>
标记,以便将其复制到输出目录。
<ItemGroup>
<Content Include="e2e-local-settings.json" CopyToOutputDirectory="PreserveNewest" Link="e2e-local-settings.json" />
</ItemGroup>
请确保在添加后,在调试器中查看已加载的模块窗口,并查看从中加载测试.dll的路径。查看该目录,并确保该文件存在于该目录中,如果该文件不存在,它将以您看到它的方式失败。