【发布时间】:2019-03-08 17:23:59
【问题描述】:
我正在使用 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();
}
}
}
有谁知道是否可以调整超时以使测试在几秒钟后失败?
【问题讨论】:
标签: unit-testing xunit masstransit