如何编写MassTransitStateMachine单元测试?

泰勒·奥斯丁

我终于开始在MassTransit中利用出色的Automatonymous组件,并且我想通过新的状态机TDD。

在这里阅读了MT文档(http://masstransit-project.com/MassTransit/advanced/sagas/automatonymous.html)并花了一些时间在Google搜索之后,我发现MT / Automatonymous Git存储库中的单元测试看起来像方式:

特别是,该_machine.RaiseEvent(....)方法似乎正是我能够通过测试提供的刺激来驱动状态机所需方法。

接下来,我去寻找这种超载...原来,这是一个扩展方法,似乎住在这里:

https://github.com/MassTransit/Automatonymous/blob/15e9181ed05e37ff71e85b514aafc351b1edf27f/src/Automatonymous/RaiseEventExtensions.tt

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

后续问题在这里:如何通过InMemoryTestHarness成功驱动MassTransitStateMachine?

阿列克谢·齐马列夫(Alexey Zimarev)

您引用的测试不是来自MassTransit,而是来自Automatonymous库,该库不属于MassTransit。

您在寻找什么可以在这里找到:

  • 使用测试框架进行状态机传奇测试问题是测试框架已耦合到NUnit
  • 使用测试工具进行“经典”传奇测试测试工具与框架无关,但是至少在主仓库中没有将状态机和测试工具结合在一起的测试。
  • 使用主回购之外的测试硬度对状态机进行传奇测试这是我的项目,我使用xUnit,因为我正在使用测试工具,所以很好。但是,您可以看到跳过了一个测试,我不记得确切的问题是什么,但是有一些我无法解决的问题。这可能与我测试的持久性有关。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章