2017-09-25 11 views
0

したがって、メモリ内機能を使用して一括転送のテストを作成しようとしています。私は、人々がアプローチするのは、消費者が実行するのを待つことだと思った。以下の例では、睡眠を使用するか、私もwhileループを試しましたが、どちらのファンでも良いアイデアはありませんか?私は基本的に消費者が実行されていることを確認したい。メモリ内のマストトランストラスト消費者の実行を待つテスト

[Fact] 
public async Task SomeTest() 
{ 
    var busControl = Bus.Factory.CreateUsingInMemory(cfg => 
    { 
     cfg.ReceiveEndpoint("commands", ec => 
     { 
      ec.LoadFrom(context); 
     }); 
    }); 
    var address = new Uri(bus.Address, "commands") 
    await sendEndpoint.Send(MyExampleCommand()); 
    Thread.Sleep(2000); 

    //Check nsubstitute mock received 
} 

答えて

2

MassTransitに組み込まれているテストハーネス機能を見てください。彼らはあなたにそれらをテストするための良いアイディアを与えるべきです。

ハーネステストを見て、それらの使用方法を確認できます。 NUnitだけでなく、どんなテストフレームワークでも動作することに注意してください。

https://github.com/MassTransit/MassTransit/blob/develop/src/MassTransit.Tests/Testing/ConsumerTest_Specs.cs