Изменение функциональности для возможности протестировать
Подскажите по организации сервиса, микросервиса или как это называется и его модульному тестированию.
У меня есть класс 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();
}