Невозможно запустить интеграционные тесты в .NET Core 2.2; System.Reflection.ReflectionTypeLoadException - PullRequest
0 голосов
/ 08 июля 2019

Я пытаюсь выполнить простой тест интеграции моего веб-API.Я получил ошибку:

System.Reflection.ReflectionTypeLoadException: Невозможно загрузить один или несколько запрошенных типов.Не удалось загрузить тип 'System.Runtime.Remoting.Proxies.RealProxy' из сборки 'mscorlib, Версия = 4.0

Я следовал этому руководству: https://dotnetcorecentral.com/blog/asp-net-core-web-api-integration-testing-with-xunit/

Тестовый класс:

public class UnitTest1
{
    [Fact]
    public async Task Test1()
    {
      var client = new TestClientProvider().Client;
      var response = await client.GetAsync("/api/Emitter");
      response.EnsureSuccessStatusCode();
      Assert.Equal(HttpStatusCode.OK, response.StatusCode);
    }
  }

TestClientProvider:

public class TestClientProvider
  {
    public HttpClient Client { get; set; }

    public TestClientProvider()
    {
      var server = new TestServer(new WebHostBuilder().UseStartup<Startup>());
      Client = server.CreateClient();
    }
  }

csproj:

<Project Sdk="Microsoft.NET.Sdk">

    <PropertyGroup>
        <TargetFramework>netcoreapp2.2</TargetFramework>
        <IsPackable>false</IsPackable>
    </PropertyGroup>

    <ItemGroup>
        <PackageReference Include="AspNetCore.Proxy" Version="2.1.2" />
        <PackageReference Include="Microsoft.AspNet.Mvc" Version="5.2.7" />
        <PackageReference Include="Microsoft.AspNetCore.App" />
        <PackageReference Include="Microsoft.AspNetCore.TestHost" Version="2.2.0" />
        <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />
        <PackageReference Include="System.Configuration.ConfigurationManager" Version="4.5.0" />
        <PackageReference Include="xunit" Version="2.4.0" />
        <PackageReference Include="xunit.runner.visualstudio" Version="2.4.0" />
    </ItemGroup>

    <ItemGroup>
      <ProjectReference Include="..\Odo.Web\Odo.Web.csproj" />
    </ItemGroup>

</Project>
...