Наверняка тесты качества, я хотел бы получить ссылку на службы, зарегистрированные в коллекции служб узла представления.
В частности, я хотел бы проверить, что конфигурация Ламара действительна с помощью такого теста :
Код: Выделить всё
[Fact]
public void LamarConfiguration_IsValid()
{
var host = Frontend.Presentation.Program.Host;
host.Services.Should().BeOfType();
var actualContainer = (IContainer)host.Services;
actualContainer.AssertConfigurationIsValid();
}
Когда я пытаюсь построить хост WebAssembly с помощью WebAssemblyHostBuilder, я сталкиваюсь с PlatformNotSupportedException, и если я использую другой сборщик хостов, я не получаю службы, специфичные для Blazor, такие как NavigationManager.
Я также попробовал настроить тестовую среду с помощью Playwright, что мы и сделали уже использую для сквозных тестов. Однако даже здесь я не могу получить доступ к сервисам в этих тестах, так как технически мы запускаем проект Web API, который затем обслуживает проект презентации WebAssembly.
Есть ли способ добиться этот? Изучив доступную документацию и онлайн-ресурсы, я не нашел решения, но, возможно, я что-то упускаю из виду.
Подробнее здесь: https://stackoverflow.com/questions/791 ... -in-a-test
Мобильная версия