Итак, при условии, что у меня есть Handler
, который выглядит следующим образом:
public async Task Handle(Message message)
{
Guid correlationId = GetCorrelationId();
var newMessage = new MessageReceived
{
horse = message.Horse,
correlationId = correlationId
};
}
private static Guid GetCorrelationId()
{
if (!MessageContext.Current.Headers.TryGetValue("rbs2-corr-id", out string correlationId))
{
throw new ArgumentException();
}
if (!Guid.TryParse(correlationId, out Guid correlationIdGuid))
{
throw new ArgumentException();
}
return correlationIdGuid;
}
Как бы мне было провести модульное тестирование?В настоящее время у меня есть (очевидно, ошибочный) тест, в котором я просто установил объект MessageReceived
и передал его на Handle
, но, конечно, он не работает на GetCorrelationId
, поскольку фактического MessageContext
нет.Должен ли я установить FakeBus
и каким-то образом его использовать?