У меня есть связанный вопрос здесь . Я прочитал this и пытаюсь смоделировать зависимости в моей размещенной службе. Но я запутался, чтобы утверждать или проверять что. Я думаю, чтобы убедиться, что StartConsumption
на Mock Kafka Topic Consumer Manager
вызывается. Но чтобы установить его, он возвращает void
. Я не могу определить, как настроить предикат для макета.
services.AddSingleton(Mock.Of<IKafkaTopicConsumerManager>(_ =>
_.StartConsumption(
It.IsAny<CancellationToken>(),
It.IsAny<IMessageProcessingCapable>(),
It.IsAny<string>(),
It.IsAny<string>(),
It.IsAny<List<string>>(),
It.IsAny<string>(),
It.IsAny<int>())==void
));
Но при void
он показывает недопустимый термин выражения. Ниже мой Worker.cs, который является Hosted Service
.
protected override async Task ExecuteAsync(CancellationToken cancellationToken)
{
_consumerManager.StartConsumption(
cancellationToken,
_messageProcessor,
_config.GetSection("Kafka:Servers").Get<string>(),
_config.GetSection("ConsumerGroup").Get<string>(),
_config.GetSection("Topics").Get<List<string>>(),
_config.GetSection("Kafka:TopicSuffix").Get<string>(),
_config.GetSection("ConsumerThreads").Get<int>());
}