【发布时间】:2010-11-17 09:26:34
【问题描述】:
我们正在使用 boost 状态图库,并且在为代码编写单元测试时遇到了麻烦。
在我们的正常执行中,状态机从ClosedState开始:
struct BoostStateMachine : sc::state_machine<BoostStateMachine, ClosedState >
我们想测试一个特定的状态转换,而不必遍历状态机直到那个状态,例如我们想在AnotherState 开始测试。问题是sc::state_machine 在其初始状态下被模板化。向状态机提供导致测试状态的所有事件通常需要大量工作并使测试复杂化。
一个原始的解决方案是编写特殊的仅调试事件并将其添加到ClosedState。此事件将触发立即转换到 AnotherState。
你知道完成任务的其他方法吗?
【问题讨论】:
标签: c++ unit-testing boost boost-statechart