Я делаю какой-то модульный тест и хочу передать значение для отмены BackgroundService, код фоновой службы выглядит так:
public override async Task StartAsync(CancellationToken cancellationToken)
{
await base.StartAsync(cancellationToken);
}
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
while (!stoppingToken.IsCancellationRequested)
{
// do something
}
await Task.Delay(TimeSpan.FromMinutes(1), stoppingToken);
}
и внутри моего модульного теста я делаю это :
var cancellation = new CancellationTokenSource(50);
cancellation.CancelAfter(50);
_service.StartAsync(cancellation.Token).GetAwaiter();
Но токен отмены не попадает в ExecuteAsyn c только что получен в StartAsyn c piece