XUnit. Net Core Как получить локальные настройки внутри тестового проекта - PullRequest
0 голосов
/ 16 января 2020

У меня есть проект XUnit для теста End2End для моего проекта Api.

Внутри проекта модуля: MyApi.E2E.Test

в его папке root, у меня есть файл настроек :

e2e-local-settings. json

Теперь у меня есть файл с именем: MyWebApplicationFactory

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

exception Как загрузить файл настроек json в проекте TEST.

Я прочитал этот файл: { ссылка } Но это не так загрузить из тестового проекта, вместо этого он загружается из проекта Api.

1 Ответ

0 голосов
/ 16 января 2020

Причина, по которой он не обнаружен, заключается в том, что файлы конфигурации должны находиться в каталоге запущенного приложения. В вашем файле .csproj вам потребуется добавить тег <Content>, чтобы он был скопирован в выходной каталог.

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

Убедитесь, что после добавления этого, посмотрите на окно загруженных модулей в отладчик, и посмотрите на путь, откуда загружается ваш тестовый DLL-файл. Посмотрите на этот каталог и убедитесь, что файл существует там. Если файл не существует, он не будет работать так, как вы его видите.

...