C# 如何编写MassTransitState机器单元测试?

C# 如何编写MassTransitState机器单元测试?,c#,unit-testing,state,masstransit,automatonymous,C#,Unit Testing,State,Masstransit,Automatonymous,我终于开始利用MassTransit中优秀的自动化组件,我想通过我的新状态机进行TDD 在阅读了这里的MT文档()并花了一些时间在谷歌上搜索之后,我发现MT/Automatonymous Git repo中的单元测试看起来就像是一种方式: 特别是,\u machine.RaiseEvent(..)方法似乎正是我所需要的,能够用测试提供的刺激驱动状态机 下一步,我去寻找那个超负荷。。。事实证明,这是一种扩展方法,似乎在这里存在: 这就是我被卡住的地方。我不确定使用这些扩展方法进行测试的正确

我终于开始利用MassTransit中优秀的自动化组件,我想通过我的新状态机进行TDD

在阅读了这里的MT文档()并花了一些时间在谷歌上搜索之后,我发现MT/Automatonymous Git repo中的单元测试看起来就像是一种方式:

特别是,
\u machine.RaiseEvent(..)
方法似乎正是我所需要的,能够用测试提供的刺激驱动状态机

下一步,我去寻找那个超负荷。。。事实证明,这是一种扩展方法,似乎在这里存在:

这就是我被卡住的地方。我不确定使用这些扩展方法进行测试的正确方法是什么?*。tt是一种文本生成模板格式。。。这些是作为nuget软件包的一部分安装的吗?我如何获得对扩展的访问权限?和/或更广泛地说,为继承自
MassTransitStateMachine
的状态机编写单元测试的推荐方法是什么


这里的后续问题:

您引用的测试不是来自MassTransit,而是来自Automatonymous库,它不是MassTransit的一部分

您要查找的内容可能可以在此处找到:

  • 使用测试框架。问题在于测试框架与NUnit是耦合的
  • 使用测试线束。测试线束与框架无关,但至少在主repo中,没有结合状态机和测试线束的测试
  • 使用测试硬度,在主报告之外。这是我的项目,我使用xUnit,因为我使用的是测试工具,它很好。但是,您可以看到有一个测试被跳过,我不记得到底是什么问题,但有一些问题我无法解决。这可能与我测试的持久性有关

谢谢Alexey!我会试试这些,看看能做多少。新的问题在这里:请注意答案中的“状态机saga测试”链接指向“关于:空白”。谢谢@TylerAusten,我修复了链接