Я использую MassTransit для обмена сообщениями между двумя микросервисами, и у меня есть потребитель, который публикует событие, когда получает командное сообщение.
При добавлении модульного теста, чтобы охватить этот обмен сообщениями, я заметил, что когда событие не публикуется, тест занимает около 30 секунд, что, как я полагаю, является временем ожидания по умолчанию. Вот модульный тест xUnit, который воспроизводит проблему.
using System;
using Xunit;
using MassTransit;
using MassTransit.Testing;
using System.Linq;
using SomeProject.MassTransitInterface;
namespace SomeProject.MassTransitInterface.Tests
{
public class CommandTests
{
[Fact]
public void Test1 ()
{
var harness = new InMemoryTestHarness();
var consumer = harness.Consumer<SomeCommandConsumer>();
harness.Start().Wait();
var command = new SomeCommand();
harness.InputQueueSendEndpoint.Send(command);
Assert.True( harness.Sent.Select<SomeCommand>().Any() );
harness.Stop().Wait();
}
}
}
Кто-нибудь знает, можно ли настроить тайм-аут, чтобы тест мог не пройти через пару секунд?