【问题标题】:Mass Transit Test Harness公共交通测试线束
【发布时间】:2018-11-22 13:09:39
【问题描述】:

我一直在使用 InMemoryTestHarness 对一个公共交通项目进行单元测试。

我参考了下面的 github 代码来使用它

ConsumerTest_Specs.cs

谁能解释一下以下属性是什么

  • Sent
  • Published
  • Consumed

InMemoryTestHarness _harness对象的实际意义。

虽然代码有一个与每个相关联的测试方法,但我希望对它进行更多解释。

谢谢。

【问题讨论】:

  • 这些是所有由该工具发送、发布和使用的消息的集合。

标签: .net rabbitmq masstransit


【解决方案1】:

我知道评论有简洁的答案,但是我想我可以通过添加一些附加信息来使其更清楚。

InMemoryTestHarness 代替了单元测试实例的 mMessageBroker,就像 Smart Mock。因此,作为代理,它拥有所有已发布的消息,但也不断跟踪所有传输的消息。

  • 发送:直接命令/消息,就像一些 RPC,但使用消息代理作为通道。线束处于活动状态时使用Send() 方法的所有消息在此处都有一个副本。
  • 已发布:类似事件的消息,遵循 PubSub 模式。线束处于活动状态时使用Published() 方法的所有消息在此处都有一个副本。
  • 已使用:线束处于活动状态时已使用的所有消息。这里我们有一个重要的考虑

    只有在 Harness 中注册的消费者才会消费消息,因此您可以控制哪些消费者处于活动状态

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-29
    • 1970-01-01
    • 1970-01-01
    • 2012-03-08
    相关资源
    最近更新 更多