Изменение функциональности для возможности протестировать

Рейтинг: 0Ответов: 0Опубликовано: 27.07.2023

Подскажите по организации сервиса, микросервиса или как это называется и его модульному тестированию.

У меня есть класс MyService

У него есть некоторые зависимости, HttpClient,ILogService,MyServiceData

Есть только 2 публичных метода, Start и Stop

Он в цикле выполняет get запрос,десириализует ответ и размещает его в MyServiceData

Я как разрабочик, вроде как должен протестировать его поведение не обращая внимание на его детали реализации.

Но ухватиться не за что, так как из публичного только Start и Stop ничего не возвращающие и не принимающие)

Как такое изменить, чтобы хотя бы запрос / ответ тестировать) ?

Поселить какого то get реквестера как зависимость чтобы тестировать его хотя бы можно было ?

Или есть какой то лучше подход ?

UPD - Инжектится

    static void Main()
    {
        IServiceCollection services = new ServiceCollection()
            .AddSingleton<ILogService, DefaultLogService>()
            .AddSingleton<HttpClient>()
            .AddSingleton<MyServiceData>()
            .AddSingleton<MyService>();

        ServiceProvider serviceProvider = services.BuildServiceProvider();

        MyService? mService = serviceProvider.GetService<MyService>();
        checkerIATAService?.Start();

        Console.ReadLine();
    }

Ответы

Ответов пока нет.