Файл Deps отсутствует в тестах интеграции Dotnet 6C#

Место общения программистов C#
Ответить
Anonymous
 Файл Deps отсутствует в тестах интеграции Dotnet 6

Сообщение Anonymous »

Прежде чем начать, я попробовал все предложения из следующих, и ни один из них не помог:
Интеграционное тестирование ASP.NET Core с .NET Framework — не могу найти deps.json< /p>
https://zimmergren.net/unable-to-find-d ... re-devops/

Поэтому я пытаюсь напишите несколько интеграционных тестов для dotnet 6. Однако моя WebApplicationFactory выдает следующую ошибку:

System.InvalidOperationException: Can't find
'/repos/subscription-info-api/tests/SubscriptionInfoApi.Tests.Integration/bin/Debug/net6.0/...
System.InvalidOperationException Не могу найти
'/repos/subscription-info-api/tests/SubscriptionInfoApi.Tests.Integration/bin/Debug/net6.0/testhost.deps.json'.Этот файл необходим для правильного выполнения функциональных тестов. В папке bin исходного проекта
должна находиться копия файла. Если
это не так, убедитесь, что для свойства
PreserveCompilationContext в файле проекта установлено значение true. Например,
'истина'. Чтобы
функциональные тесты работали, их необходимо либо запустить из папки вывода
сборки, либо файл testhost.deps.json из каталога вывода вашего приложения
должен быть скопирован в папку, где находятся тесты. работает.
Распространенной причиной этой ошибки является включение теневого копирования при
выполнении тестов. в
Microsoft.AspNetCore.Mvc.Testing.WebApplicationFactory

Код: Выделить всё

1.EnsureDepsFile() at Microsoft.AspNetCore.Mvc.Testing.WebApplicationFactory
1.EnsureServer()
at
Microsoft.AspNetCore.Mvc.Testing.WebApplicationFactory

Код: Выделить всё

1.CreateDefaultClient(DelegatingHandler[] handlers)    at Microsoft.AspNetCore.Mvc.Testing.WebApplicationFactory
1.CreateDefaultClient (обработчики Uri
baseAddress, DelegatingHandler[]) в
Microsoft.AspNetCore.Mvc.Testing.WebApplicationFactory

Код: Выделить всё

1.CreateClient(WebApplicationFactoryClientOptions options)    at Microsoft.AspNetCore.Mvc.Testing.WebApplicationFactory
1.CreateClient()
в SubscriptionInfoApi.Tests.Integration.UnitTest1.Test1() в
/repos/subscription-info-api/tests/SubscriptionInfoApi.Tests.Integration/UnitTest1.cs :line
14 в SubscriptionInfoApi.Tests.Integration.UnitTest1.Test1() в
/repos/subscription-info-api/tests/SubscriptionInfoApi.Tests.Integration/UnitTest1.cs:line
16 в
Xunit. Sdk.TestInvoker

Код: Выделить всё

1.c__DisplayClass48_0.d.MoveNext() in /_/src/xunit.execution/Sdk/Frameworks/Runners/TestInvoker.cs:line 264 --- End of stack trace from previous location ---    at Xunit.Sdk.ExecutionTimer.AggregateAsync(Func
1 asyncAction) в
//src/xunit.execution/Sdk/Frameworks/ExecutionTimer.cs:строка 48 в
Xunit.Sdk.ExceptionAggregator.RunAsync(код Func`1 ) в
//src/xunit.core/Sdk/ExceptionAggregator.cs:line 90

Мой фактический тестовый код чрезвычайно прост:

Код: Выделить всё

   [Fact]
public async Task Test1()
{
await using var app    = new WebApplicationFactory
();
using var client = app.CreateClient();
var       res    = await (await client.GetAsync("/alive-test")).Content.ReadAsStringAsync();
Assert.Equal("Alive!", res);
}
Согласно рекомендациям, я убедился, что напрямую ссылаюсь на Microsoft.AspNetCore.Mvc.Testing -> 6.0.0 в моем проекте интеграционных тестов. Я также попробовал различные настройки файлов .csproj, которые были предложены, но, похоже, ничего не работает.
Я застрял в попытках отладить это дальше , есть идеи?

Подробнее здесь: https://stackoverflow.com/questions/699 ... tion-tests
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»