如何编写 MassTransitStateMachine 单元测试?
How to write MassTransitStateMachine unit tests?
我终于开始在 MassTransit 中利用出色的自动命名组件,并且我想通过我的新状态机进行 TDD。
在阅读了此处的 MT 文档 (http://masstransit-project.com/MassTransit/advanced/sagas/automatonymous.html) 并花了一些时间进行谷歌搜索后,我在 MT/Automatonymous Git 存储库中找到了单元测试,这看起来是可行的方法:
特别是,_machine.RaiseEvent(....)
方法似乎正是我能够使用测试提供的刺激来驱动状态机所需要的方法。
接下来,我去寻找那个过载...原来它是一个似乎存在于此处的扩展方法:
这就是我卡住的地方。我不确定使用这些扩展方法进行测试的正确方法是什么? *.tt 是一种文本生成模板格式...这些是作为 nuget 包的一部分安装的吗?我如何获得对扩展程序的访问权限? and/or 更广泛地说,为继承自 MassTransitStateMachine<T>
的状态机编写单元测试的推荐方法是什么?
后续问题在这里:How to successfully drive a MassTransitStateMachine via the InMemoryTestHarness?
您引用的测试不是来自 MassTransit,而是来自 Automatonymous 库,它不是 MassTransit 的一部分。
你要找的大概可以在这里找到:
- State machine saga tests 使用测试框架。问题是测试框架耦合到 NUnit
- "Classic" saga tests 使用测试工具。测试工具是 framework-agnostic 但没有结合状态机和测试工具的测试,至少在主仓库中是这样。
- State machine saga tests 在主回购之外使用测试硬度。这是我的项目,我使用 xUnit,因为我使用的是测试工具,所以没问题。但是,您可以看到跳过了一个测试,我不记得到底是什么问题,但有些事情我无法解决。这可能与我测试的持久性有关。
我终于开始在 MassTransit 中利用出色的自动命名组件,并且我想通过我的新状态机进行 TDD。
在阅读了此处的 MT 文档 (http://masstransit-project.com/MassTransit/advanced/sagas/automatonymous.html) 并花了一些时间进行谷歌搜索后,我在 MT/Automatonymous Git 存储库中找到了单元测试,这看起来是可行的方法:
特别是,_machine.RaiseEvent(....)
方法似乎正是我能够使用测试提供的刺激来驱动状态机所需要的方法。
接下来,我去寻找那个过载...原来它是一个似乎存在于此处的扩展方法:
这就是我卡住的地方。我不确定使用这些扩展方法进行测试的正确方法是什么? *.tt 是一种文本生成模板格式...这些是作为 nuget 包的一部分安装的吗?我如何获得对扩展程序的访问权限? and/or 更广泛地说,为继承自 MassTransitStateMachine<T>
的状态机编写单元测试的推荐方法是什么?
后续问题在这里:How to successfully drive a MassTransitStateMachine via the InMemoryTestHarness?
您引用的测试不是来自 MassTransit,而是来自 Automatonymous 库,它不是 MassTransit 的一部分。
你要找的大概可以在这里找到:
- State machine saga tests 使用测试框架。问题是测试框架耦合到 NUnit
- "Classic" saga tests 使用测试工具。测试工具是 framework-agnostic 但没有结合状态机和测试工具的测试,至少在主仓库中是这样。
- State machine saga tests 在主回购之外使用测试硬度。这是我的项目,我使用 xUnit,因为我使用的是测试工具,所以没问题。但是,您可以看到跳过了一个测试,我不记得到底是什么问题,但有些事情我无法解决。这可能与我测试的持久性有关。